【问题标题】:Why [undefined] - 3 is -3 while undefined -3 is NaN in JavaScript?为什么 [undefined] - 3 是 -3 而 undefined -3 在 JavaScript 中是 NaN?
【发布时间】:2023-01-24 15:39:35
【问题描述】:

最近在研究JavaScript, 但我没有得到 [undefined] - x something is -x 但未定义 - x 是 NaN ...

console.log(undefined-3);  //NaN
console.log([undefined]-3); // -3

【问题讨论】:

  • 因为 JavaScript 很奇怪。

标签: javascript node.js


【解决方案1】:

第一个示例 console.log(undefined-3); 的结果为 NaN,因为 undefined 是 JavaScript 中的一个特殊值,表示已声明但尚未赋值的变量。当它用于数学运算时,结果为 NaN(非数字)。

第二个示例 console.log([undefined]-3); 结果为 -3,因为包含未定义元素的数组被强制转换为字符串,在本例中等于“undefined”。然后它被转换为一个数字,即 NaN,然后​​它被减去 3,结果是 -3。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 2018-09-08
    • 2011-11-02
    • 2023-03-08
    相关资源
    最近更新 更多