跳到主要内容

Javascript 对象的key能是数字吗?

参考答案:

是的,JavaScript 对象的键(key)可以是数字。在 JavaScript 中,对象的键可以是任何字符串或符号。虽然当你用数字作为键时,它会被自动转换为字符串,但这并不影响其作为键的有效性。

例如,以下是一个以数字作为键的 JavaScript 对象:

let obj = {
  1: 'one',
  2: 'two',
  3: 'three'
};

console.log(obj[1]);  // 输出 "one"
console.log(obj[2]);  // 输出 "two"
console.log(obj[3]);  // 输出 "three"

在这个例子中,数字 1、2 和 3 都被用作对象的键。请注意,尽管这些键在定义时是数字,但在内部它们都被存储为字符串。这是因为在 JavaScript 中,对象的键总是字符串或符号。

此外,虽然对象的键可以是数字,但是如果你想要创建一个数组,那么应该使用数组字面量([])或 Array 构造函数,而不是对象字面量({})。例如:

let arr = [1, 2, 3];
console.log(arr[0]);  // 输出 1
console.log(arr[1]);  // 输出 2
console.log(arr[2]);  // 输出 3

在这个例子中,arr 是一个数组,而不是一个对象,所以它的索引(即,键)是数字。