#javascript
#javascript
Вопрос:
const akshat = {
firstName:'Akshat',
lastName:'Saxena',
birthYear:1994,
job:'programmer',
friends:['Paras','Rachit','Pushpendra'],
hasDriverLicense: true,
calcAge:function(){
this.age = 2037 - this.birthYear;
}
};
console.log(akshat.age);
Ответ №1:
age
устанавливается при calcAge
вызове:
const akshat = {
firstName:'Akshat',
lastName:'Saxena',
birthYear:1994,
job:'programmer',
friends:['Paras','Rachit','Pushpendra'],
hasDriverLicense: true,
calcAge:function(){
this.age = 2037 - this.birthYear;
}
};
akshat.calcAge(); // set age
console.log(akshat.age);
Комментарии:
1. Означает ли это, что возраст будет установлен в объекте только после того, как мы вызовем метод один раз?
2. @AkshatSaxena да.
3. @AkshatSaxena возраст устанавливается внутри функции, так что да.
Ответ №2:
У объекта нет собственного свойства age. Свойство устанавливается при запуске функции calcAge()
. Если вы попытаетесь получить доступ к age
свойству без запуска функции, вы получите undefined
as age
is not defined . Итак, вам нужно сначала запустить calcAge
метод, как показано ниже —
const akshat = {
firstName:'Akshat',
lastName:'Saxena',
birthYear:1994,
job:'programmer',
friends:['Paras','Rachit','Pushpendra'],
hasDriverLicense: true,
calcAge:function(){
this.age = 2037 - this.birthYear;
}
};
console.log(akshat.age); //undefined
akshat.calcAge(); // set age
console.log(akshat.age); //43