当我想打印属性的年份时,我不能访问变量我有这个目标:
let human = {
birdYear: 1,
getAge: (function (birdYear) {
return 2021 - this.birdYear
})()
};
当打印人得到这个:
Cannot read property 'birdYear' of birdYear
我想要这个:
{
birdYear: 1
getAge: 2020
}
有拐杖帮我吗?我的使用:
- "是的。">
- 没有"这个.鸟年">
- (fn(birdYear({…birdYear}(((
- (fn(birdYear({…birdYear}((今年(
且无
谢谢
//添加
我找到了这条路
let human = {
birdYear: 1,
get getAge() {
return new Date().getFullYear() - this.birdYear
}
};
工作!我只需要理解为什么我不使用IIFE作为方法。。。
难道不想创建一个可以使用内置访问器(即get
(方法实例化和序列化的类吗?
class Animal {
constructor(age) {
this.age = age;
}
get birthYear() {
return new Date().getUTCFullYear() - this.age;
}
serialize() {
return { age: this.age, birthYear: this.birthYear };
}
}
let bird = new Animal(1);
console.log(bird.serialize());