El final del código es:
console.log ("Name: " + pete.fullname() + "\tAge:" + pete.age); console.log ("Name: " + cara.fullname() + "\tAge:" + cara.age); console.log (cara.firstname + "is" + (cara.age - pete.age) + " year older than " + pete.firstname);Yo lo escribi:
pete = { firstname: "Pete", lastname: "Programmer", age: 20 }; var cara = { firstname: "Cara", lastname: "Coder", age: 30, }; pete.fullname = function (){ console.log (pete.firstname + pete.lastname) }; cara.fullname = function () { console.log (cara.firstname + cara.lastname) }; console.log ("Name: " + pete.fullname() + "\tAge:" + pete.age); console.log ("Name: " + cara.fullname() + "\tAge:" + cara.age); console.log (cara.firstname + "is" + (cara.age - pete.age) + " year older than " + pete.firstname);Salida planificada:
Name: Pete Programmer Age:20 Name: Cara Coder Age:32 Cara is 12 years older than PeteNo entiendo por qué tengo esta salida:
PeteProgrammer Name: undefined Age:20 CaraCoder Name: undefined Age:30 Cara is 10 years older than PeteEn pete.fullname() y cara.fullname() estás haciendo console.log() en lugar de return . El código:
pete = { firstname: "Pete", lastname: "Programmer", age: 20 }; var cara = { firstname: "Cara", lastname: "Coder", age: 30, }; pete.fullname = function (){ return pete.firstname + pete.lastname } cara.fullname = function () { return cara.firstname + cara.lastname }; console.log ("Name: " + pete.fullname() + "\tAge:" + pete.age); console.log ("Name: " + cara.fullname() + "\tAge:" + cara.age); console.log (cara.firstname + " is " + (cara.age - pete.age) + " year older than " + pete.firstname);