簡體   English   中英

Javascript ES6 共享類變量

[英]Javascript ES6 shared class variable

我有一個看起來像這樣的課程:

class Foo {
    constructor(arg1, arg2) {
        // ...

        this._some_obj = new SomeObj({
            param1: arg1,
            param2: arg2
        });
    }

    // ...
}

module.exports = Foo;

現在我想做同樣的事情,但_some_obj在類的所有實例之間共享。

在四處搜索之后,我不清楚在 ES6 中執行此操作的正確方法。

正如從 ES5 所知,你可以把它放在類的原型對象上:

export class Foo {
    constructor(arg1, arg2) {
        …
    }
    …
}
Foo.prototype._some_obj = new SomeObj({
    param1: val1,
    param2: val2
});

或者直接在Foo ,如果您不需要將其作為實例的屬性訪問。

使用static來擁有類屬性。

class MyClass {
  static myStaticProp = 42;

  constructor() {
    console.log(MyClass.myStaticProp); // Prints '42'
  }
}

注意:這是一個已經在Babel 中實現的功能,但仍處於實驗階段,僅在第一個提案階段。

暫無
暫無

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

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