在以下代码中,console.log(o.x)
的两种用法均打印1
。分配o.x = 2
会怎样?只是被忽略了吗?
var o = {
get x() {
return 1;
}
}
console.log(o.x); // 1
o.x = 2
console.log(o.x); // 1
答案 0 :(得分:5)
在草率模式下,是的,它将被忽略-值“ assigned”将被丢弃。但是在严格模式(建议使用)下,将引发以下错误:
未捕获的TypeError:无法设置属性{x {1}}仅具有吸气剂
#<Object>