function estudante(nome, idade, curso) {
this.nome =nome
this.idade=idade
this.curso =curso
}
var estudante = new estudante("Mateus", 32,"Javascript" );
console.log(estudante)
Resultado: estudante { nome: 'Mateus', idade: 32, curso: 'Javascript' }
function Cliente (nome, cpf, email, saldo) {
this.nome = nome
this.cpf = cpf
this.email = email
this.saldo = saldo
this.depositar = function(valor){
this.saldo += valor
}
}
const andre = new Cliente("Andre", "12312312312", "andre@email.com", 100)
function ClientePoupanca(nome, cpf, email, saldo, saldoPoup){
Cliente.call(this, nome, cpf, email, saldo)
this.saldoPoup = saldoPoup
}
const ju = new ClientePoupanca("Ju", "12312312312", "ju@email.com", 100, 200)
ClientePoupanca.prototype.depositarPoup = function(valor){
this.saldoPoup += valor
}
console.log('1 ' + andre.hasOwnProperty("saldo"))
console.log('2 ' + andre.hasOwnProperty("saldoPoup"))
console.log('3 ' + ju.hasOwnProperty("saldo"))
console.log('4 ' + ju.hasOwnProperty("saldoPoup"))
console.log('5 ' + (andre instanceof Cliente))
console.log('6 ' + typeof andre)
console.log('7 ' + typeof ju)
console.log('8 ' + (ju instanceof ClientePoupanca))
console.log('9 ' + Function.prototype.isPrototypeOf(Cliente))
console.log('10 ' + (Cliente.constructor === Function))
Resultado: 1 true 2 false 3 true 4 true 5 true 6 object 7 object 8 true 9 true 10 true
Trabalhando com Classes:
class Cliente {
constructor(nome,email,cpf,saldo){
this.nome = nome
this.email = email
this.cpf = cpf
this.saldo = saldo
}
depositar(valor){
this.saldo += valor
}
exibirSaldo(){
console.log(this.saldo)
}
}
var andre = new Cliente("Andre","andre@email.com","112233665544",100)
class ClientePoupanca extends Cliente {
constructor(nome, email, cpf, saldo, saldoPoupanca){
super(nome, email, cpf, saldo)
this.saldoPoupanca = saldoPoupanca
}
depositarPoupanca(valor){
this.saldoPoupanca += valor
}
}
var andre = new ClientePoupanca("Andre", "a@mail.com", "12312312312", 100, 200)
andre.exibirSaldo()
console.log(andre)
// andre.depositar(80)
// console.log(andre)
// andre.depositarPoupanca(75)
// console.log(andre)
Após os depósitos: ClientePoupanca { nome: 'Andre', email: 'a@mail.com', cpf: '12312312312', saldo: 180, saldoPoupanca: 275 }