eslint/no-implicit-coercion スタイル
何ができるか
!!、+、""+ などの演算子を使用したショートカット型変換を禁止します。
なぜ問題か
演算子による暗黙的な型変換は、Boolean()、Number()、String() のような明示的な型変換関数を使う場合に比べて、意図が分かりにくくなることがあります。明示的な変換を使うことで、意図が明確になり、コードの可読性が向上します。
例
このルールに対して 誤った 例:
javascript
var b = !!foo;
var n = +foo;
var s = "" + foo;このルールに対して 正しい 例:
javascript
var b = Boolean(foo);
var n = Number(foo);
var s = String(foo);設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。
allow
type: string[]
許可する演算子のリスト。有効な値:"!!"、"~"、"+"、"-"、"- -"、"*"
boolean
type: boolean
default: true
true である場合、暗黙的なブール型変換(例:!!foo)に対して警告します。
disallowTemplateShorthand
type: boolean
default: false
true である場合、文字列変換にテンプレートリテラルを使用することを禁止します(例:`${foo}`)。
number
type: boolean
default: true
true である場合、暗黙的な数値型変換(例:+foo)に対して警告します。
string
type: boolean
default: true
true である場合、暗黙的な文字列型変換(例:"" + foo)に対して警告します。
使用方法
このルールを設定ファイルまたは CLI で 有効化 するには、次のように使用できます:
json
{
"rules": {
"no-implicit-coercion": "error"
}
}bash
oxlint --deny no-implicit-coercion