簡體   English   中英

ES6類構造函數參數

[英]ES6 class constructor arguments

我正在查看ES6類定義,但不理解構造函數的參數。 這是課程:

export class Modal {
    constructor($modal, {size = null,} = {}) {
        // stuff
    }
}

我對此{size = null,} = {}感到困惑。 那是一個論點嗎? 這是什么意思?

它是具有給定默認值的對象分解

如果您傳遞像這樣的obj

{ size: true }

您可以像正常變量一樣訪問構造函數中的“大小”

export class Modal {
  constructor($modal, {size = null } = {}) {
    console.log(size); // prints the size value from the given object
  }
}

如果您不傳遞任何內容,或者傳遞的對象不帶“ size”,則size將為null。 您可以進行更多此類分配。 只需用逗號將它們分開。

例:

constructor($modal, { size = null, foo, bar = "test" } = {})

在這種情況下,如果傳遞不帶屬性“ foo”的對象,則該對象將是未定義的,其余的行為與我上面提到的相同。

另外值得一提的是,您必須在constructor聲明的解構分配末尾添加= {} 萬一您什么都不通過。 否則,您將必須傳遞一些對象(可能為空)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM