IT the Best

はてなブログのカスタマイズ情報を中心に、WEBデザインからJavaScriptまでWEB系の開発情報を発信します。便利ツールや暇つぶしのゲームなど開発物も公開します。

JavaScriptに静的変数はない?staticはクラス内静的メソッドを定義するキーワードである 【JavaScript】

 

 結論

JavaScriptに静的変数を定義するキーワードはない。staticはクラス内メソッドを静的メソッドとして定義するキーワードである。

しかし、JavaScriptで静的変数(独自)を実装する方法はある模様。

 

参考文献

developer.mozilla.org

developer.mozilla.org

 

先日、JavaScriptの静的変数について調べて、JavaScriptには静的変数はないことがわかりました。

 

調べたきっかけは、JavaScriptのクラス構文を記述するために、公式ドキュメントを見ながらコーディングをしていたときです。

勘違いでstatic変数があると思い込み、staticで変数を定義して処理を実行しました。すると、案の定JavaScriptには静的変数がないためエラーとなり、staticに影響があるとわかりました。

そこで、JavaScriptの静的変数について調べてみると、静的変数はないことがわかり、勘違いしたstaticは、静的メソッドを定義するために使用されていたキーワードでした。

image by https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes/static

image by https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes/static


また、JavaScriptについて調べていた中で、「なんちゃって静的変数」や「静的変数を実装する方法」など、独自で静的変数を定義する方法を公開しているサイトを多く見かけました。

どうやら静的変数を定義するためのキーワードはないようですが、静的変数と同じ働きをする処理を記述する方法はいくつかあるようです。下のリンクはそのひとつです。

codeday.me