你想要調(diào)用一個沒有參數(shù)的函數(shù),但不希望使用括號。
不管怎樣都使用括號。
另一個方法是使用 do 表示法,如下:
notify = -> alert "Hello, user!"
do notify if condition
編譯成 JavaScript 則可表示為:
var notify;
notify = function() {
return alert("Hello, user!");
};
if (condition) {
notify();
}
這個方法與 Ruby 類似,在于都可以不使用括號來完成方法的調(diào)用。而不同點在于,CoffeeScript 把空的函數(shù)名作為函數(shù)的指針。這樣以來,如果你不賦予一個方法任何參數(shù),那么 CoffeeScript 將無法分辨你是想要調(diào)用函數(shù)還是把它作為引用。
這是好是壞呢?其實只是有所不同。它創(chuàng)造了一個意想不到的語法實例——括號并不總是可選的——但是它能讓你流利地使用名字來傳遞和接收函數(shù),這對于 Ruby 來說是難以實現(xiàn)的。
對于 CoffeeScript 來說,使用 do 表示法是一個巧妙的方法來克服括號使用恐懼癥。盡管有部分人寧愿在函數(shù)調(diào)用中寫出所有括號。