背景
JavaScriptでシングルトンを実装していた際に、どうしてもvar
を使用する必要がありました。
プロジェクトの設定でESLintを利用しているため、var
を使うと以下のようなエラーが発生しました。
7:3 Error: Unexpected var, use let or const instead. no-var
普段はlet
やconst
を使用するのが推奨されていますが、特別なケースとしてシングルトン実装などでスコープを明示的に調整するため、あえてvar
が必要になることがあります。
特定箇所だけルールを無効化する方法
ESLintには、一時的に特定のルールを無効化するコメントがあります。
単一行で許可する場合
var
を許可したい行の直前に次のコメントを追加します。
// eslint-disable-next-line no-var var singletonInstance = null;
複数行で許可する場合
複数行にわたり許可したい場合は、以下のように囲みます。
/* eslint-disable no-var */ var singletonInstance = null; var anotherVar = 123; /* eslint-enable no-var */
注意点
- 原則として、
var
を利用するのは避け、可能な限りlet
またはconst
を利用しましょう。 - 特定のケースでのみ、意図を明確にコメントに残したうえで許可するのがベストプラクティスです。
以上の方法で、ESLintルールを柔軟に適用しつつ、特殊な実装にも対応できます。
コメントを残す