eslint/no-func-assign 正しさ
何をするか
関数宣言で書かれた function の再代入を禁止します。
このルールは TypeScript コードでは無効にできます。TypeScript コンパイラがこのチェックを強制しているためです。
なぜ問題なのか
関数宣言として書かれた関数の上書き/再代入は、多くの場合ミスや問題の兆候です。
例
このルールに対して不正なコードの例:
javascript
function foo() {}
foo = bar;javascript
function foo() {
foo = bar;
}javascript
let a = function hello() {
hello = 123;
};このルールに対して正しいコードの例:
javascript
let foo = function () {};
foo = bar;javascript
function baz(baz) {
// `baz` はシャドウ化されている。
baz = bar;
}function qux() {
const qux = bar; // `qux` はシャドウ化されている。
}使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"no-func-assign": "error"
}
}bash
oxlint --deny no-func-assign