【发布时间】:2020-06-26 20:46:08
【问题描述】:
考虑以下示例代码:
let obj = {a: '1', b: '2'};
Object.keys(obj).forEach(function(key, val){
console.log(typeof val); //returns: number
});
console.log(typeof obj['a']); //returns: string
我觉得这种行为很有趣。为什么这样做?我认为这与 JavaScript 在某些情况下自动解析变量(例如将数字连接到字符串)以及将所述变量传递给回调函数有关。
我也很好奇是否有一种简单的方法可以保留原始值类型?我知道你可以强制一个特定的类型,但它有办法让它保持一个数字或一个字符串,基于最初传递的内容,而不是添加一个变量,然后将其设置为变量类型?
【问题讨论】:
标签: javascript object iteration