【发布时间】:2018-03-15 11:23:34
【问题描述】:
我正在尝试继承默认规范属性,这样,当我在继承规范中创建特定覆盖值时,我仍然可以访问(通过继承)未修改的规范值:
let default_boltSpec = {
head_diameter: 2,
shaft_diameter: 0.8,
};
Object.freeze(default_boltSpec);
let derivedBoltSpec = Object.create(default_boltSpec);
console.log( "derivedBoltSpec:", derivedBoltSpec );
Object.assign(derivedBoltSpec , {
head_diameter: 1.5,
});
奇怪的是,我似乎不允许“覆盖”继承的值!严格位于原型链上的值如何以任何方式干扰允许我在对象上放置的属性?
编辑: 这张截图显示了在 Firefox Web 开发者控制台中运行上述代码 sn-p 的效果:
这张图片显示 Object.create 没有向创建的对象添加任何属性。这与the documentation 一致。
【问题讨论】:
标签: javascript