JS语法_对象

属性

为对象赋非字符串类型的属性时需要小心,查看下面的例子

// log
let obj = {}
let nameObj = { name: 'oceans' }
let ageObj = { age: 18 }
obj[nameObj] = 1
obj[ageObj] = 2
console.log(obj[nameObj])
console.log(obj.nameObj)

涉及到的知识点:

  • 对象的属性只能是字符串,如果非要弄个对象,那么会转化为字符串
  • 转化方式并不是想当然的JSON.stringfy(),而是{}.prototype.toString()
  • .的方式无法取变量,obj.nameObj会转化为 obj['nameObj']

为了核实,这里打印 obj 对象的属性

// log
let obj = {}
let nameObj = { name: 'oceans' }
let ageObj = { age: 18 }
obj[nameObj] = 1
console.log(Object.keys(obj))
obj[ageObj] = 2
console.log(Object.keys(obj))
posted @ 2020-09-17 11:05  oceans-pro  阅读(114)  评论(0编辑  收藏  举报