存在運算子
CoffeeScript 的存在運算子 ?
檢查變數是 null 還是未定義。
1.檢查 null
或 undefined
alert "Hello CoffeeScript!" if myVar?
等效的 javascript:
if (typeof myVar !== "undefined" && myVar !== null) {
alert("Hello CoffeeScript!");
}
2.更安全的條件分配
你還可以使用此運算子更安全的條件分配
language = favoriteLanguage ? "coffeescript"
等效的 javascript:
language = typeof favoriteLanguage !== "undefined" && favoriteLanguage !== null ? favoriteLanguage : "coffeescript";
3.安全連結方法
而不是用 .
連結方法,用 ?.
連結它們以避免引發 TypeError 。
firstName = user?.profile?.firstname
等效的 javascript:
firstName = typeof user !== "undefined" && user !== null ? (ref = user.profile) != null ? ref.firstname() : void 0 : void 0;
如果所有屬性都存在,那麼如果鏈斷開,你將獲得預期結果,返回 undefined