eslint/no-unsafe-optional-chaining 正しさ
何を行うか
不定値が許可されていない文脈でオプショナルチェイニングを使用することを禁止する
なぜ問題か
オプショナルチェイニング(?.)式は、未定義値を返すことで短絡処理を行うことがあります。 したがって、評価されたオプショナルチェイニング式を関数、オブジェクト、数値などとして扱うと、TypeErrorや予期しない結果が生じる可能性があります。たとえば:
例
このルールに違反する誤りのあるコードの例:
javascript
var obj = undefined;
1 in obj?.foo; // TypeError
with (obj?.foo); // TypeError
for (bar of obj?.foo); // TypeError
bar instanceof obj?.foo; // TypeError
const { bar } = obj?.foo; // TypeError設定
このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。
disallowArithmeticOperators
type: boolean
default: false
オプショナルチェイニング式に対して算術演算を行うことを禁止する。 この値が true の場合、このルールは可能に NaN を引き起こす算術演算に対する警告を出します。
使用方法
このルールを設定ファイルまたは CLI で有効化するには、次のように使用できます:
json
{
"rules": {
"no-unsafe-optional-chaining": "error"
}
}bash
oxlint --deny no-unsafe-optional-chaining