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

回到顶部