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题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。