簡體   English   中英

私有 class 變量聲明

[英]Private class variable declaration

我正在嘗試為超級 class 聲明一個私有 class 變量,但我似乎很難這樣做。 我有什么我想念的嗎? 到目前為止,這是我的代碼。

 class Animal { constructor(_name) { this._name = _name; } name() { console.log(`${this._name} is my name.`); } } new Animal('Bob').name();

私有字段以 # 開頭,但它們的 scope 將使它們對子類隱藏。

class Animal {
  #name
  constructor(name) {
      this.#name = name;
  }
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields

私有 class 功能在以下瀏覽器中可用:

鉻合金 邊緣 FireFox 歌劇 Safari
74+ 79+ 90+ 62+ 14.1+

這是您的 class 的示例,其中包含一個名為name的私有實例字段:

 class Animal { #name; constructor(name) { this.#name = name; } get name() { return this.#name; } toString() { return `${this.#name} is my name.`; } } const bob = new Animal('Bob'); console.log(bob.name); console.log(bob.toString()); // console.log(bob.#name); <-- SyntaxError

暫無
暫無

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

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