0

const mark = {
    firstName: `Mark`,
    lastName: `Miller`,
    fullName: this.firstName + this.lastName,
    weight: 78,
    height: 1.69
};

console.log(mark.fullName); // the result in console: NaN
0stone0
  • 34,288
  • 4
  • 39
  • 64
  • `this` refers to the container of the object (window), not the object itself. If you want to create a scope, use a function, or better yet, a class. `window.firstName` is undefined, and in Javascript, `undefined + undefined` gives.......... "not a number" `NaN` because it's trying to add things together, to it assumes it should get a number in the end. – Jeremy Thille Jan 06 '22 at 12:55

1 Answers1

0
const mark = {
    firstName: `Mark`,
    lastName: `Miller`,
    fullName: function(){
                           return this.firstName + this.lastName;
                       },
    weight: 78,
     height: 1.69
};
console.log(mark.fullName());

Alternate:

const mark = ({
    firstName: `Mark`,
    lastName: `Miller`,
    init: function(){
                this.fullName = this.firstName + this.lastName;
            },
    weight: 78,
    height: 1.69
}).init();
console.log(mark.fullName);
Lakshya
  • 1
  • 2