JavaScript 对象常量/初始化程序中的自引用
有什么办法可以使以下内容在JavaScript中起作用?
var foo = { a: 5,
b: 6,
c: this.a + this.b // Doesn't work
};
在当前形式下,此代码显然会引发引用错误,因为this
未引用foo
。但是, 是否 有任何方法可以使对象文字的属性值取决于先前声明的其他属性?
回答:
好吧,我唯一能告诉你的就是getter::
var foo = { a: 5,
b: 6,
get c() {
return this.a + this.b;
}
}
console.log(foo.c) // 11
这是ECMAScript第5版规范引入的语法扩展,大多数现代浏览器(包括IE9)都支持该语法。
以上是 JavaScript 对象常量/初始化程序中的自引用 的全部内容, 来源链接: utcz.com/qa/402873.html