有什么方法可以将数字类型用作对象键?
看来,当我在对象中使用数字类型作为键名时,它总是会转换为字符串。无论如何,实际上是否可以将其存储为数字?正常的类型转换似乎不起作用。
例:
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