no-unsafe-unary-minus
単項のマイナス記号が数値を対象とすることを必須にします。
💭
このルールを実行するには、 型情報 が必要です。
TypeScriptでは、数値以外のものにマイナス記号を付けることを防ぎません。
const s = 'hello';
const x = -s; // x is NaN
このルールでは、単項の-
演算子をnumber | bigint
に制限します。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-unsafe-unary-minus": "error"
}
};
Playgroundでこのルールを試す ↗
例
- ❌ 不正
- ✅ 正しい
declare const a: string;
-a;
declare const b: {};
-b;
Playgroundで開く-42;
-42n;
declare const a: number;
-a;
declare const b: number;
-b;
declare const c: number | bigint;
-c;
declare const d: any;
-d;
declare const e: 1 | 2;
-e;
Playgroundで開くオプション
このルールは設定できません。
使用しない場合
型チェックされたリンティングルールは従来のリンティングルールよりも強力ですが、型チェックされたリンティングを設定する必要があります。型チェックされたルールを有効にした後にパフォーマンスの低下が発生した場合は、パフォーマンスのトラブルシューティングを参照してください。