【发布时间】:2016-07-19 18:46:01
【问题描述】:
我扩展全局对象:
Object.defineProperty(Object.prototype,'getRecursive', {writable: false, value: function(keyChain){
var keys = keyChain.split('.');
if(keys.length > 1){
var currentKey = keys[0];
keys.splice(0, 1);
return this.getRecursive.call(this[currentKey], keys.join('.'));
}
return this[keys[0]];
}});
当我运行测试时,我有:TypeError: Attempted to assign to readonly property.node_modules/karma-jasmine/lib/adapter.js。
当我将writable 更改为true 时,错误消失了,为什么?
value 上的函数是属性的默认值,writable 应该允许/拒绝更改此值,我错了吗?
【问题讨论】: