CoffeeScript攻略2.2:建立一個不存在的物件字面值
問題
你想初始化一個物件字面值,但如果這個物件已經存在,你不想重寫它。
方案
使用存在判斷運算子(existential operator)。
window.MY_NAMESPACE ?= {}
討論
這行程式碼與下面的JavaScript程式碼等價:
window.MY_NAMESPACE = window.MY_NAMESPACE || {};
這是JavaScript中一個常用的技巧,即使用物件字面值來定義名稱空間。這樣先判斷是否存在同名的名稱空間然後再建立,可以避免重寫已經存在的名稱空間。
相關文章
- CoffeeScript攻略2.5:鏈式呼叫物件物件
- CoffeeScript攻略2.4:建立類變數變數
- CoffeeScript攻略2.1:克隆物件(深複製)物件
- CoffeeScript攻略3.10:生成唯一ID
- CoffeeScript攻略1.1:嵌入JavaScriptJavaScript
- CoffeeScript攻略1.3:for迴圈
- CoffeeScript攻略3.7:拆分字串字串
- CoffeeScript攻略3.9:匹配字串字串
- 建立一個物件的集合物件
- CoffeeScript攻略3.8:字串插值字串
- CoffeeScript攻略3.1:重複字串字串
- 一個建立物件的問題物件
- CoffeeScript攻略2.3:CoffeeScrip的type函式函式
- CoffeeScript攻略4.9:篩選陣列陣列
- CoffeeScript攻略4.8:歸納陣列陣列
- CoffeeScript攻略3.4:查詢子字串字串
- CoffeeScript攻略1.2:比較範圍
- CoffeeScript攻略4.7:對映陣列陣列
- 如何建立一個“純淨”的物件物件
- javascript如何建立一個物件JavaScript物件
- CoffeeScript攻略4.10:反轉陣列陣列
- CoffeeScript攻略4.1:從陣列生成字串陣列字串
- CoffeeScript攻略4.6:打亂陣列元素陣列
- 如何動態建立一個以前完全不存在的新類?
- jQuery如何建立一個新的元素物件jQuery物件
- CoffeeScript攻略4.2:類似Python的zip函式Python函式
- CoffeeScript攻略3.5:清理字串前後的空白符字串
- CoffeeScript攻略4.3:取得陣列最大值陣列
- CoffeeScript攻略4.4:使用陣列交換變數陣列變數
- CoffeeScript攻略4.5:定義陣列範圍陣列
- javascript如何建立一個物件例項JavaScript物件
- CoffeeScript攻略3.6:大寫單詞首字母
- CoffeeScript攻略3.2:把字串轉換為小寫形式字串
- CoffeeScript攻略3.3:把字串轉換為大寫形式字串
- javascript如何建立一個屬性節點物件JavaScript物件
- 請教一個關於EJB建立物件時的問題物件
- 建立包含N個空物件的陣列物件陣列
- Laravel 2.2 建立 Application 例項LaravelAPP