在JavaScript中,如果我分配给具有getter但没有setter的对象属性,会发生什么?

时间:2018-12-02 10:03:29

标签: javascript object properties getter-setter

在以下代码中,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

1 个答案:

答案 0 :(得分:5)

在草率模式下,是的,它将被忽略-值“ assigned”将被丢弃。但是在严格模式(建议使用)下,将引发以下错误:

  

未捕获的TypeError:无法设置属性{x {1}}仅具有吸气剂

#<Object>