为什么 JavaScript 的“in”运算符在测试不包含 0 的数组中是否存在 0 时返回 true?

2024-01-13

为什么 JavaScript 中的“in”运算符在测试数组中是否存在“0”时返回 true,即使数组似乎不包含“0”?

例如,这返回 true,并且有意义:

var x = [1,2];
1 in x; // true

这返回 false,并且是有道理的:

var x = [1,2];
3 in x; // false

然而这返回 true,我不明白为什么:

var x = [1,2];
0 in x;

它指的是索引或键,而不是值。0 and 1是该数组的有效索引。还有有效的密钥,包括"length" and "toString". Try 2 in x。这将是错误的(因为 JavaScript 数组是从 0 索引的)。

See the MDN 文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JavaScript 的“in”运算符在测试不包含 0 的数组中是否存在 0 时返回 true? 的相关文章

随机推荐