数组的转换规则
// 数组的默认转换规则
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会隐式转换为字符串