javascipt-属性访问器键,为何不能为数字

48 阅读1分钟

属性访问器提供了两种方式用于访问一个对象的属性,它们分别是点号和方括号。

发现 属性名称必须是字符串或符号 Symbol。这意味着非字符串对象不能用来作为一个对象属性的键。任何非字符串对象,包括 Number,都会通过 toString 方法,被转换成一个字符串

var object = {};
object["1"] = "value";
console.log(object[1]);
"value"

属性访问器,里的键规定要是一个字符串,即便你写了一个数字,也会被自动转换为 字符串. 初步理解这个原因之一为了避免混淆的问题,比如 obj[1] 很容易被理解成 在访问obj下标为1的元素。