ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 の static 修飾子は何を意味しますか?

es6 の static 修飾子は何を意味しますか?

WBOY
WBOYオリジナル
2022-08-18 17:26:151835ブラウズ

es6 の static 修飾子は、メンバー変数とメンバー メソッドを変更することを意味します。static は静的、つまり静的メソッドの定義を意味します。メンバー変数の静的な変更は、メンバー変数のコピーが 1 つだけメモリに格納されることを意味します。共有によってアクセスおよび変更できるように、クラスは static を通じて静的メソッドを定義します。

es6 の static 修飾子は何を意味しますか?

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

es6 の static 修飾子の意味は何ですか

static は静的を意味し、メンバー変数とメンバー メソッドを変更できます

静的に変更されたメンバー変数とは、メンバー変数はメモリに 1 つのコピーのみを保存し、共有することでアクセスおよび変更できます。

クラス (クラス) は、static キーワードを通じて静的メソッド を定義します。静的メソッドはクラスのインスタンスで呼び出すことはできませんが、クラス自体を通じて呼び出す必要があります。これらは通常、オブジェクトを作成または複製する関数などのユーティリティ メソッドです。

上記のステートメントは比較的単純です。理解したい場合は、いくつかの概念を明確にする必要があります:

オブジェクト指向プログラミングのプロセスでは、クラスを使用してオブジェクトを作成するプロセス通常、インスタンス化と呼ばれます。クラスはインスタンスのプロトタイプです。クラスは静的でプロセス メモリを占有しませんが、インスタンスには動的メモリがあります。

通常は、新しい test() を作成し、クラス test() で定義されたメソッドがインスタンスに継承されます。ただし、メソッドの前に static キーワードを追加すると、メソッドはインスタンスに継承されず、クラスを通じて直接呼び出されることになり、これは静的メソッドと呼ばれます。

例は次のとおりです。

まず、親クラス Father を作成し、このクラス内に静的メソッド testMethod() を作成しました。ファーザー クラスを介してメソッドを直接呼び出すと、呼び出しは成功する可能性があります。ただし、クラスを通じてインスタンス Child を作成すると、静的メソッドはこのインスタンスに継承されず、当然、このメソッドは正常に呼び出されません。

class Father {
    static testMethod() {
        return 'hello';
    }
}
Father.testMethod() 
// output: 'hello'
var Child = new Father();
Child.testMethod()
// output: TypeError: Child.testMethod is not a function

[関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

以上がes6 の static 修飾子は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。