Eu testei as 2 formas. Dentro da constante ambos funcionam (teste o código abaixo, ele funciona com as 2 formas de escrever a função). Porém, dentro da classe, somente a primeira forma funciona:
const cliente = {
nome: 'Andre',
idade: 36,
saldo:100,
// primeira forma
depositar(valor){
this.saldo += valor
}
// segunda forma
// depositar:function(valor){
// this.saldo += valor
// }
}
console.log(cliente.saldo) // 100
cliente.depositar(30)
console.log(cliente.saldo) // 130
Neste segundo exemplo, da Classe, só funciona a primeira forma da função (teste):
class Cliente {
constructor(nome,idade,saldo){
this.nome = nome
this.idade = idade
this.saldo = saldo
}
// primeira forma
depositar(valor){
this.saldo += valor
}
// segunda forma
// depositar: function(valor){
// this.saldo += valor
// }
exibirSaldo(){
console.log(this.saldo)
}
}
const andre = new Cliente("Andre", 36, 100)
console.log(andre)
andre.depositar(50)
console.log(andre)
O seu código funciona bem. É só acrescentar dados:
const maria = new Pessoa ("Maria","da Penha", "12345678901", "maria@penha.com.br")
console.log(maria)
Resultado: Pessoa { nome: 'Maria', sobrenome: 'da Penha', cpf: '12345678901', email: 'maria@penha.com.br' }