首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript new Student 無括號合法?構造函數無參數時括號可省略

     編輯:程式設計疑難解答

代碼:var student = new Student; 省略了構造函數調用的括號 ()。

結論

合法且等價於 new Student()。ECMAScript 標準規定:當構造函數不需要參數時,調用括號可以省略。

其他「不規範但合法」的 JS 寫法

  • 語句結尾分號可省略(自動分號插入 ASI)。
  • 對象字面量屬性名可不加引號({name: 'a'})。
  • if (cond) doSomething(); 單語句可省略大括號。
  • typeof x 可作一元運算符省略括號(typeof(x) 亦可)。

最佳實踐建議

  • 始終加上括號new Student():明確語義、統一風格、避免歧義(如 new Student().method() vs new Student.method())。
  • 使用 eslint / prettier 強制代碼風格,規則 new-parens: "error" 要求構造調用必須帶括號。
  • TypeScript 編譯器會報錯 Expected 0 arguments, but got 1(若無參數則報多參),強制規範寫法。

雖然 JS 引擎寬容,但規範寫法能減少認知負荷與潛在 Bug,團隊項目務必統一風格。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved