理解 JavaScript 中的建構子回傳值
在 JavaScript 中,使用 new 關鍵字呼叫建構子來建立新物件。雖然建構函數通常會傳回 this,但某些條件可能會導致傳回不同的值。
傳回非此值的情況
行為由內部 [ 定義[Construct]] new 運算子使用的屬性。根據ECMA-262 第三版規範:
第7 步: 如果建構子(Result(6))傳回值的型別是not一個對象,回傳Result(6)。
第8 步: 否則,回傳Result(1)(新的
範例:
考慮以下構造函數:
function Foo() { return 1; }
使用new 呼叫時,會發生以下步驟:
以上是當 JavaScript 建構函數傳回非物件值時會發生什麼事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!