Skip to content
← Back to rules

typescript/no-unsafe-function-type 細心な

何をするか

安全でない組み込みの Function 型の使用を禁止します。

なぜ悪いのか

TypeScript の組み込み Function 型は、任意の引数の数で呼び出せ、戻り値の型が any になります。また、Function クラスのすべてのプロパティを持つクラスや通常のオブジェクトも許可されます。一般的に、関数のパラメータと戻り値の型を関数型構文で明確に指定するのが望ましいです。

このルールに違反するコードの例:

ts
let noParametersOrReturn: Function;
noParametersOrReturn = () => {};

let stringToNumber: Function;
stringToNumber = (text: string) => text.length;

let identity: Function;
identity = (value) => value;

このルールに準拠するコードの例:

ts
let noParametersOrReturn: () => void;
noParametersOrReturn = () => {};

let stringToNumber: (text: string) => number;
stringToNumber = (text) => text.length;

let identity: <T>(value: T) => T;
identity = (value) => value;

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "typescript/no-unsafe-function-type": "error"
  }
}
bash
oxlint --deny typescript/no-unsafe-function-type

参照