为了账号安全,请及时绑定邮箱和手机立即绑定

Object.create 第一个参数中有不可写属性时,子对象不可重新赋值,请问为什么?

Object.create 第一个参数中有不可写属性时,子对象不可重新赋值,请问为什么?

婷婷同学_ 2018-08-14 09:10:19
var a = {};Object.defineProperty(a, 'x', { value: 42, enumerable: true, configurable: true  }); var b = Object.create(a);b.x = 50; console.log(b.x);  // 10console.log(b.hasOwnProperty('x'));  //false  如图所示,当Object.create 函数使用了a对象为原型对象,创建新对象b的时候,由于a对象中的x属性是不可写的( writable默认为false ),造成的结果是b对象只能获取到原型上的属性x,而不能对b对象自身赋值x,为什么?(使用的是chrome浏览器),请大神们帮忙解惑,万分感谢
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 696 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信