Dev Study
TypeScript コース

60. static — インスタンスを作らず使うメンバー

static を付けたプロパティやメソッドは、インスタンスではなくクラスそのものに属します。new でインスタンスを作らず、IdGenerator.generate() のようにクラス名から直接呼び出します。

実務では、Math.max のようなユーティリティメソッドの置き場所や、全インスタンスで共有したいカウンタ・設定値に使います。「どのインスタンスのものでもないが、このクラスに関係する値や処理」をまとめるのに向いています。

つまずきポイントは this の扱いです。static メソッドの中の this はインスタンスではなくクラス自体を指すので、インスタンスのプロパティには触れません。逆に、インスタンスから static メンバーを呼ぶこともできません。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
サンプルコードで身につける(5本) →

学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。

公式ドキュメントで詳しく ↗