eslint/no-sequences 制限
何をするか
コンマ演算子の使用を禁止します。
なぜ悪いのか
コンマ演算子は、そのオペランドを左から右へ評価し、最後のオペランドの値を返します。しかし、この演算子は頻繁に副作用を隠蔽しており、使用はしばしば誤りによるものです。
オプション
allowInParentheses(デフォルト:true):falseに設定された場合、括弧で囲まれた場合でもコンマ演算子の使用を禁止します。
例
このルールに対する誤ったコードの例:
javascript
((foo = doSomething()), val);
(0, eval("doSomething();"));
// アロー関数の本体には二重の括弧が必要
const fn = () => (doSomething(), val);
// allowInParentheses: false の場合
foo = (doSomething(), val);このルールに対する正しいコードの例:
javascript
foo = (doSomething(), val);
(0, eval)("doSomething();");
// 条件式では単なる余分な括弧で十分
do {} while ((doSomething(), !!test));
for (i = 0, j = 10; i < j; i++, j--) {}
// アロー関数の本体には二重の括弧が必要
const fn = () => (doSomething(), val);設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
allowInParentheses
型: boolean
デフォルト: true
このオプションが false に設定されている場合、式のシーケンスが明示的に括弧で囲まれている場合でも、コンマ演算子の使用を禁止します。デフォルトは true です。
使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"no-sequences": "error"
}
}bash
oxlint --deny no-sequences