解开 JavaScript 谜题:破译 " [[]][ []] [ []]"
在 JavaScript 中,表达式 " [[]][ []] [ []]”乍一看可能令人困惑,但仔细检查会发现最终返回字符串“10”的一系列操作。
分解表达式,我们有:
我们来一步步剖析这个表达式:
1. []:
在 JavaScript 中,[] 将空数组 [] 强制转换为数字,结果为 0。这是由于一元运算符的行为所致,它将其操作数转换为 Number 类型.
2. [[]][ []]:
此表达式返回外部数组 [[]] 的内部数组 ([])。
3. [[]][ []]:
运算符将其操作数的值加一。因此,此操作会增加内部数组 ([)]),这是一个假值。在 JavaScript 中增加假值会返回 1.
4。 [ []]:
与 [] 类似,此表达式将空数组 [] 强制转换为数字,结果再次为 0。
5。 1 0:
现在我们有两个数字要相加:1 来自递增的内部数组,0 来自第二个空数组强制。结果是 1.
6。 1 [0]:
有趣的是,在 JavaScript 中,[0] 为真,并且计算结果为字符串“0”。连接字符串和数字时,JavaScript 会将数字强制转换为字符串。因此,此操作得到“10”。
因此,看似神秘的表达式“[[]][ []] [ []]”分解为一系列类型转换和串联,最终返回字符串“ 10.”
以上是为什么 JavaScript 中'[[]][ []] [ []]”的计算结果为'10”?的详细内容。更多信息请关注PHP中文网其他相关文章!