【发布时间】:2018-04-07 18:51:04
【问题描述】:
在 JavaScript 中,惰性 getter 可以提高性能。
一些解释可以在这里找到:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters
如何让惰性吸气剂在严格模式下工作?
此 JavaScript 代码不起作用:
'use strict'
function Obj(x) {
this.x = x
}
Obj.prototype = {
get y() {
delete this.y
return this.y = this.x + 1
}
}
let obj = new Obj(100)
console.log('100 + 1 = ', obj.y)
它给出以下错误:TypeError: setting getter-only property "y"
如果我删除“使用严格”,则代码可以正常工作。
如何让它在严格模式下工作?
【问题讨论】:
-
@JonasW。如果您在控制台中运行它以让严格模式指令生效,您可能必须将其包装在 IIFE 中。它也可以在脚本中工作。
标签: javascript getter-setter strict