CoffeeScript 當(dāng)函數(shù)括號不可選

2022-06-29 17:06 更新

當(dāng)函數(shù)括號不可選

問題

你想要調(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)用中寫出所有括號。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號