← TypeScript コース
60. static — インスタンスを作らず使うメンバー
static を付けたプロパティやメソッドは、インスタンスではなくクラスそのものに属します。new でインスタンスを作らず、IdGenerator.generate() のようにクラス名から直接呼び出します。
実務では、Math.max のようなユーティリティメソッドの置き場所や、全インスタンスで共有したいカウンタ・設定値に使います。「どのインスタンスのものでもないが、このクラスに関係する値や処理」をまとめるのに向いています。
つまずきポイントは this の扱いです。static メソッドの中の this はインスタンスではなくクラス自体を指すので、インスタンスのプロパティには触れません。逆に、インスタンスから static メンバーを呼ぶこともできません。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript
サンプルコードで身につける(5本) →
学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。
公式ドキュメントで詳しく ↗