var s={a:1};
Object.defineProperty(s,"a",{value:2});
s.a;//2
Object.getOwnPropertyDescriptor(s,"a");//configurable: true enumerable: true value: 2 writable: true
用var s={a:1};定义一个属性的值,属性的标签默认为true,但是用Object.defineProperty(s,"a",{value:2});定义一个属性的值,属性的标签在没有写的情况下应该是默认为false,按照以上顺序写的代码,属性的三个标签值应该被覆盖成fasle才对,为什么最后还会输出configurable: true enumerable: true writable: true呢
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1916/viewspace-3148914/ ,如需转载,请注明出处,否则将追究法律责任。