gpt4 book ai didi

javascript - 为什么是 `null + 1 = 1` 而不是 `undefined + 1 = NaN` ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:51 26 4
gpt4 key购买 nike

null + 1 = 1

undefined + 1 = NaN

我无法理解这背后的逻辑是什么。两者不应该返回相同的结果吗?

最佳答案

基本上,因为这就是语言规范所说的 - 查看 ToNumber :

Type        Result
Null +0
Undefined NaN

NaN + 任何东西都是NaN

可能从语言的 Angular 来看有一定意义:null 表示一个明确的空值,而 undefined 表示一个未知值。在某种程度上 - 零是“数字空值”,因为它对加法是中性的。就是说 - 这太牵强了,我认为这通常是糟糕的设计。在真正的 JavaScript 代码中 - 你几乎从不添加 null 到事物中。

关于javascript - 为什么是 `null + 1 = 1` 而不是 `undefined + 1 = NaN` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49550626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com