js的引用数据类型——阿里面试题

js数据类型分为:

基本数据类型(值类型)
1、number
2、string
3、布尔值
4、null
5、undefind

引用数据类型
1、obj
2、function

下面做一道类似于阿里的面试题,原题不是这样,但是意思跟这个一样。
	   let a ={
           x:100
       }
       let b={
           y:200
       }
       let obj={}
       obj[a]='啦啦啦啦'
       obj[b]='哈哈哈哈'

最后在浏览器打印出来obj是
在这里插入图片描述
有人问,为什么不是啦啦啦啦,而是哈哈哈哈呢,其实是因为

对象的属性名一定不能是引用类型值,默认会把引用类型值转换为字符串进行处理

当我们把a和b两个对象都转换为字符串的时候,他们会变成
js的引用数据类型——阿里面试题_第1张图片

所以不管是obj[a]还是obj[b]他们俩一定是相等的
在这里插入图片描述
所以最后会显示哈哈哈哈,而不是啦啦啦啦呀~

你可能感兴趣的:(前端)