分析数组和对象的默认转换规则

数组的转换规则

// 数组的默认转换规则
const list = [1,2,3,4]
console.log(list[1]) // 2
console.log(list['1']) // 2
console.log(list[false]) // undefined
console.log(list[true]) // undefined
list[1] === list['1']

由上述代码可得知
数组取值会把字符串转换数字再进行取值
但是对于boolean类型是不会进行转换的

对象的转换规则

let obj = {}
obj[1] ="123"
console.log(obj) // {1: '123'}
for(var key in obj){
  console.log(typeof(key)); // string
}
obj['1'] ="456"
console.log(obj) // {1: '456'}
// 取值比对
console.log(obj[1],obj['1']) // 456,456
obj[1] === obj['1'] // true

由上述代码可得知
obj[‘1’] =“456” 将前面obj[1] ="123"给覆盖了
遍历第一次赋值 得出key为字符串
所以赋值和取值,对象的key会隐式转换为字符串

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值