使用defineProperties的时候一个奇怪的现象

    var name = {};
    Object.defineProperties(name, {
      firstName: {
        value: 'z',
        writable: true
      },
      lastName: {
        value: 'daoyang',
        writale: true
      }
    });

clipboard.png

而把name换成其他字母,比如name1就没问题,请问这是为什么

 var name1 = {};
    Object.defineProperties(name1, {
      firstName: {
        value: 'z',
        writable: true
      },
      lastName: {
        value: 'daoyang',
        writale: true
      }
    });

clipboard.png
为什么name不能作为对象名???

阅读 1.7k
1 个回答

consolename 默认是 window 的属性,你手动修改 name,会被强制转换成字符串,name 修改后变成了是 "[object Object]",是字符串,并不是对象,导致报错

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题