gpt4 book ai didi

coffeescript - 在 coffeescript 中, "is not"和 "!="有什么区别?

转载 作者:行者123 更新时间:2023-12-04 23:55:22 24 4
gpt4 key购买 nike

我有这行代码:

console.log "source = #{@source.alignment} unit = #{unit.alignment}: " + (@source.alignment is not unit.alignment)

这是打印到控制台:

source = good unit = bad: false



为什么打印“假”?不应该打印“true”吗?从逻辑上讲,好的“不是”坏的。

这个
console.log "source = #{@source.alignment} unit = #{unit.alignment}: " + (@source.alignment != unit.alignment)

打印

source = good unit = bad: true



正如预期的那样。

有什么不同?我应该什么时候使用 is not ?

最佳答案

这是一个运算符优先级问题:

a is not b => a is (not b)

这意味着这会编译到下一个 js:
a === !b

在您的情况下,b 是 unit.alignment,并且由于该 var 存在且其值不为假,因此 !unit.alignment 返回 false

要解决您的问题,请查看 isnt运算符(operator) in Coffeescript docs

关于coffeescript - 在 coffeescript 中, "is not"和 "!="有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226549/

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