gpt4 book ai didi

javascript - JavaScript 中的类型强制

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:52 25 4
gpt4 key购买 nike

我想我知道 JavaScript 中 == 和 === 之间的区别,它是 == 会在比较时进行类型转换,而 === 不会。我了解以下代码为真:

console.log(true == "1");

但是当下面的代码为假时呢?

console.log(true == "true");

最佳答案

当您松散地将 bool 值与另一种类型的值进行比较时, bool 值会被强制转换为数字。

当你比较一个数字和一个字符串时,字符串被强制转换为一个数字。

完整规则在 The Abstract Equality Comparison Algorithm 中解释。

过程是这样的:

true == "true" ─┐
├─ Number(true) // 1
1 == "true" ─┤
├─ Number("true") // NaN
1 == NaN ─┤
├─ // Comparing with `NaN` always produces `false`
false ─┘

关于javascript - JavaScript 中的类型强制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33373619/

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