Open1

【TypeScirpt】変数名Tips📝

まさぴょんまさぴょん

変数名の先頭に_(アンダースコア)を付与することについて

TypeScriptそのものの言語仕様として、変数名の先頭にアンダースコア(_)を付けても特別な動作や効果はありません。
つまり、_ が付いているか否かによってコンパイラが特別な処理をすることはありません。

しかし、実務的には以下のような慣習的な意味合いを持たせて用いられることがあります。

  1. 未使用の引数や変数を表す:
    関数の引数や変数が意図的に使われていないことを示すために、名前の先頭に_を付けることがあります。
    例えば、Lintツール(ESLintやTSLintなど)で「未使用の引数」を警告するルールが有効な場合でも、名前を_で始めるとその警告を抑制できる場合があります。

    function myFunction(_unusedArg: string) {
      // _unusedArgは使用しないが、アンダースコアで未使用であることを明示
    }
    
  2. 内部実装用・外部から直接触れてほしくない変数の示唆:
    TypeScriptのアクセス修飾子(privateprotected)とは別に、コーディング規約としてクラスのプライベートプロパティや内部的なメンバーに_を付けることがあります。

    これは他の開発者に「このプロパティは内部的に使われる想定で、直接触らないでほしい」という意図を示す「目印」に過ぎません。

    class MyClass {
      private _secretValue: number = 42;
    
      get secretValue() {
        return this._secretValue;
      }
    }
    

まとめると、アンダースコアはTypeScriptのコンパイラレベルで特別な意味や効果を持つわけではなく、主にチームやプロジェクト内のコーディングスタイル・規約として使われる記法です。