eslint/arrow-body-style スタイル
何を実行するか
このルールは、アロー関数の本体に波括弧を使用するかどうかを強制または禁止できます。 アロー関数は次のいずれかの形式を使用できます:
- ブロック本体
() => { ... } - あるいは簡潔な本体
() => 式(暗黙的な戻り値付き)
なぜこれが問題なのか
ブロック本体と簡潔な本体の使い方が一貫していないと、コードの読みやすさが低下します。 簡潔な本体は1つの式に限定されており、その値が暗黙的に返されます。
オプション
最初のオプション:
- 型:
string - 列挙値:
"always","as-needed","never" - デフォルト:
"as-needed"
可能な値:
neverは関数本体の周りに波括弧を使用しないことを強制します(アロー関数を式の返却専用に制限)alwaysは関数本体の周りに波括弧を使用することを強制しますas-neededは省略可能な場合に波括弧を省略することを強制します(デフォルト)
2番目のオプション:
- 型:
object - プロパティ:
requireReturnForObjectLiteral:boolean(デフォルト:false)— オブジェクトリテラルに対して波括弧と明示的なreturnを必要とします。
注釈:このオプションは、最初のオプションが "as-needed" である場合にのみ適用されます。
例での設定:
json
{
"arrow-body-style": ["error", "as-needed", { "requireReturnForObjectLiteral": true }]
}例
"never"
never オプションでの不正なコード例:
js
/* arrow-body-style: ["error", "never"] */
/* ✘ 不正: */
const foo = () => {
return 0;
};never オプションでの正しいコード例:
js
/* arrow-body-style: ["error", "never"] */
/* ✔ 正しい: */
const foo = () => 0;
const bar = () => ({ foo: 0 });"always"
always オプションでの不正なコード例:
js
/* arrow-body-style: ["error", "always"] */
/* ✘ 不正: */
const foo = () => 0;always オプションでの正しいコード例:
js
/* arrow-body-style: ["error", "always"] */
/* ✔ 正しい: */
const foo = () => {
return 0;
};"as-needed"(デフォルト)
as-needed オプションでの不正なコード例:
js
/* arrow-body-style: ["error", "as-needed"] */
/* ✘ 不正: */
const foo = () => {
return 0;
};as-needed オプションでの正しいコード例:
js
/* arrow-body-style: ["error", "as-needed"] */
/* ✔ 正しい: */
const foo1 = () => 0;
const foo2 = (retv, name) => {
retv[name] = true;
return retv;
};
const foo3 = () => {
bar();
};as-needed に requireReturnForObjectLiteral を使用
{ "requireReturnForObjectLiteral": true } オプションでの不正なコード例:
js
/* arrow-body-style: ["error", "as-needed", { "requireReturnForObjectLiteral": true }] */
/* ✘ 不正: */
const foo = () => ({});
const bar = () => ({ bar: 0 });{ "requireReturnForObjectLiteral": true } オプションでの正しいコード例:
js
/* arrow-body-style: ["error", "as-needed", { "requireReturnForObjectLiteral": true }] */
/* ✔ 正しい: */
const foo = () => {};
const bar = () => {
return { bar: 0 };
};設定
1つ目のオプション
型: "as-needed" | "always" | "never"
2つ目のオプション
このオプションは以下のプロパティを持つオブジェクトです:
requireReturnForObjectLiteral
型: boolean
デフォルト: false
使用方法
このルールを設定ファイルまたは CLI で有効化するには、次のように使用できます:
json
{
"rules": {
"arrow-body-style": "error"
}
}bash
oxlint --deny arrow-body-style