Javascript 100 道问题整理( 对象篇 )

一、对象的 key 到底是什么

1、对象的 key 永远是字符串
2、对象取值可以使用[ ] 进行计算,且中括号优先级高于点运算符

const bird = {
  size: 'small'
}

const mouse = {
  name: 'Mickey',
  small: true
}
console.log(mouse.bird.size);           //  TypeError
console.log(mouse.bird['size']);        //  TypeError
console.log(mouse[bird['size']]);       //  true    正常输出

3、对象的 key 会被强制转为字符串

const a = {}
const b = { key: 'b' }
const c = { key: 'c' }

a[b] = 123                //  a["[object Object]"]  = 123
a[c] = 456                //  a["[object Object]"] = 456

console.log(a[b])      //  456  输出

附 29 题 5题

你可能感兴趣的:(Javascript 100 道问题整理( 对象篇 ))