gpt4 book ai didi

JavaScript 添加 bool 值

转载 作者:行者123 更新时间:2023-12-03 13:34:40 24 4
gpt4 key购买 nike

console.log(true+true); //2
console.log(typeof(true+true)); //number
console.log(isNaN(true+true)); //false

为什么将 2 个 bool 类型相加会产生一个数字?我有点理解,如果它们不等于(1/0(二进制?)),尝试对 bool 类型执行算术会很尴尬,但我找不到这个逻辑背后的原因。

最佳答案

它是这样工作的,因为这就是它被指定的工作方式。

EcmaScript 标准规定,除非任何一个参数是字符串,否则 +假设运算符表示数字加法而不是字符串连接。明确提到了转换为数值:

Return the result of applying the addition operation to ToNumber( lprim) and ToNumber(rprim).



(其中 lprimrprim 分别是左侧参数和右侧参数的原始形式)

EcmaScript 还指定 To Number bool 值的转换很清楚:

The result is 1 if the argument is true. The result is +0 if the argument is false.



因此, true + true有效地表示 1 + 1 , 或 2 .

关于JavaScript 添加 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555321/

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