有什么方法可以将数字类型用作对象键?

看来,当我在对象中使用数字类型作为键名时,它总是会转换为字符串。无论如何,实际上是否可以将其存储为数字?正常的类型转换似乎不起作用。

例:

var userId = 1;

console.log( typeof userId ); // number

myObject[userId] = 'a value';

console.dir(myObject);

目录输出:

{

'1': 'a value'

}

我 是:

{

1: 'a value'

}

忠告?

回答:

不,这是不可能的。

属性名称必须是字符串。这意味着非字符串对象不能用作对象中的键。任何非字符串对象(包括数字)都可以通过toString方法转换为字符串。

> var foo = {}

undefined

> foo[23213] = 'swag'

'swag'

> foo

{ '23213': 'swag' }

> typeof(Object.keys(foo)[0])

'string'

以上是 有什么方法可以将数字类型用作对象键? 的全部内容, 来源链接: utcz.com/qa/416275.html

回到顶部