使用「new」運算子建立無括號物件
使用前一種方式使用「new」運算子建立物件:
const obj = new Foo;
有效並在ECMAScript 標準中定義。只有當函數呼叫中沒有參數時,才允許「new」運算子省略括號。
兩種物件建立方法實現相同的結果,但有細微的差別。使用無括號語法時,引擎會隱式提供括號,如果稍後修改程式碼,可能會導致意外行為。例如,如果您在新增括號後不小心插入了參數:
const obj = new Foo(argument);
程式碼將會中斷,因為在沒有括號的情況下建立時,無法使用參數呼叫「new」運算子。
在另一方面,使用帶有空參數清單的括號明確聲明不存在參數,從而防止此類錯誤。此外,JSLint 建議使用括號,因為它在呼叫建構函式時會偵測到缺少的括號。
雖然兩種形式都有效,但為了一致性、清晰性並避免潛在的陷阱,首選使用括號。
以上是JavaScript 中的「new」運算子應該使用括號嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!