为什么object [undefined]在javascript中不起作用?

吉姆·琼斯(Jim Jones)

我以为[]之间的所有值都转换为字符串,为什么不undefined转换为"undefined"

var a={};
a[undefined];
Object.keys(a).length===0
亚当

您假设所有之间[]都转换为字符串不正确。

话虽这么说,但是如果您确实为密钥分配了任何内容,那么您正在做的事情就会奏效,但事实undefined并非如此。

var a = {};
a[undefined] = 1;
Object.keys(a).length === 1;

甚至

var a = {};
a[undefined] = undefined;
Object.keys(a).length === 1;

如果您没有为哈希中的键分配值,则不会保留该键。

编辑

这种语言的工作方式很有趣。当您声明没有值的变量时,JS会使用值将其初始化undefined

var x;
console.log(x); //undefined

但是,当您尝试在对象上声明键而不将其分配给值时,则不会使用值初始化它undefined

var x = {};
x[1];
Object.keys(x).length === 0;

另外,仅出于娱乐目的,从上面可以很容易看出以下事实:

var x; //initializes to undefined
var y = {};
y[undefined] = x;
Object.keys(y).length === 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我在 JavaScript 中的 onclick 事件不起作用?

为什么array.sort在javascript中不起作用?

为什么 Javascript 验证在 html 表单中不起作用?

为什么preventdefault/stopPropagation 在javascript 中不起作用?

为什么此C代码在JavaScript中不起作用?

为什么我的日期比较在JavaScript中不起作用?

为什么渐变文本在 JavaScript 中不起作用?

为什么位置确定在JavaScript中不起作用?

为什么 JavaScript 中的 saveAs() 对我不起作用?

为什么这个 onclick 按钮在 javascript 中不起作用

为什么波浪号〜在Javascript querySelector中不起作用而在CSS中起作用?

为什么单行XOR交换在Javascript中不起作用,而在C ++中起作用?

为什么Javascript TypeDArray不起作用?

为什么javascript函数不起作用?

为什么JavaScript函数不起作用?

Javascript 代码不起作用。为什么?

为什么“ for”在“ go”中不起作用?

在PHP中为什么不起作用

为什么“setOnClickListener (this)”在“for in”中不起作用?

为什么这种检查 undefined 的方法不起作用?

为什么Array#each_with_object(0)不起作用?

为什么SparseIntArray.equals(Object)不起作用?

在Java中重载等于时,为什么使用Object以外的参数不起作用?

为什么 if/else 语句在 Object.assign() 和 .map 中不起作用?

为什么Object.create在Node.js中不起作用

为什么不起作用?

为什么'this'关键字在javascript中的对象的速记方法中不起作用?

当在Javascript中没有定义集合时,为什么推不起作用?

为什么这段解决n-皇后难题的代码在javascript中不起作用