存在运算符
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