Javascript 对象的key能是数字吗?

在JavaScript中,对象的键名(key)是字符串或符号(symbol)类型,不能直接使用数字类型作为键名。但是,如果数字被转换为字符串或符号类型,则可以用作键名。

示例:

const obj = {
  1: 'one',
  '2': 'two'
};

console.log(obj[1]); // 'one'
console.log(obj['2']); // 'two'

在上面的示例中,我们创建了一个对象obj,其中包含两个键名,分别是数字1和字符串’2’。但实际上,这两个键名在对象中都被转换为字符串类型,因此可以使用数字1和字符串’2’来访问对象的键值。

如果直接使用数字作为键名,则会被自动转换为字符串类型。因此,如果需要使用数字作为键名,建议将其转换为字符串或符号类型。

示例:

const num = 1;
const obj = {
  [num]: 'one'
};

console.log(obj[1]); // 'one'
console.log(obj['1']); // 'one'

在上面的示例中,我们使用数字1作为变量num的值,并将其用于对象obj的键名。由于使用了方括号表示法,因此可以直接将数字1作为键名,不会发生自动转换。在访问对象的键值时,可以使用数字1或字符串’1’来获取对应的键值,两种方式都可以。

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。