【发布时间】:2011-10-25 08:00:38
【问题描述】:
我喜欢CoffeeScript compiles == into the JavaScript === operator。但是如果你想要原始的 JS == 语义怎么办?它们可用吗?我仔细阅读了文档,但找不到任何支持此功能的内容。
更一般地说,有没有办法将纯 JS 内联到我的 CoffeeScript 代码中,这样编译器就不会碰到它?
我宁愿避免编辑编译后的 JavaScript 输出,因为我使用 Chirpy 在 Visual Studio 中自动生成它。
【问题讨论】:
-
为什么需要
==?执行此操作的公认方法是通过显式强制。a.toString() === b.toString()或parseInt(a, 10) === parseInt(b, 10)。==是不可信任的,除了极少数特定情况,可以说应该由咖啡脚本编译器为您处理。 -
@Joseph - “Pored”是一个词,与“poured”的意思不同。
-
我的意思只是说大多数咖啡脚本编写者会坚持认为使用反引号是“做错了”。但如果你对此很酷,那就发疯吧:)
-
@Justin
+a === +b将在该示例中执行您想要的操作。袖手旁观的好小技巧。 :) -
@TrevorBurnham 除非您知道
a和b包含整数值,否则这并不等同。例如,parseInt('2.3', 10) === parseInt('2.4', 10)为真,但+'2.3' === +'2.4'为假。