CoffeeScript 中的运算符及别名

CoffeeScript 有它自己的一套运算符及别名,用来代替 JavaScript 中的一些写法。

例如 ==!=,它们在 JavaScript 中表达的意思不够准确,并且跟其它语言中的意义也不一致,CoffeeScript 会把它们分别解析为 ===!==,另外CoffeeScript 也提供了别名,例如 is 表示 ===, isnt 表示 !==

下面来通过一个表格看一下详细的别名列表:

CoffeeScript JavaScript
is ===
isnt !==
not !
and &&
or
true, yes, on true
false, no, off false
@, this this
a in b [].indexOf.call(b, a) >=0
a of b a in b
for a from b for (a of b)
a ** b Math.pow(a, b)
a // b Math.floor(a / b)
a %% b (a % b + b) % b

a in b 表示 a 是否在数组 b 中存在,在 ES6 中表示对象是否存在

a of b 表示 b 对象中是否存在 a 属性,在 ES6 中可以用 for of 循环遍历数组(for in 遍历对象)

a ** b 表示 a 的 b 次幂,例如:5 ** 2 结果为 25

a %% b 表示数学的模运算