概要
https://www.typescriptlang.org/tsconfig#noUnusedParameters
{
"noUnusedParameters": true
}
関数の作成時、定義しているのに中身のコードで使用されない場合にコンパイルエラーにします。
デフォルトfalse
。少なくとも自分はtrue
で良いと思います。
詳細
使わない引数は書かなければ良いのですが、例えば第二引数は使うんだけど第一引数は使わない、みたいな場合はどうしても定義しないといけなくなります。
そういう場合は、使わない引数の prefix として_
アンダースコアを付与するとエラーを回避できます。
JS は、仕組みで縛れないけど「使うなよ!絶対使うなよ!」っていう値にアンダースコアをつける文化ですね。
明示的に「これは使わない変数です」っていうのをわかりやすくすれば OK、みたいなイメージです。
// これはhogeを関数内で使用していないのでコンパイルエラー
const func = (hoge: string, piyo: string) => {
console.log("HOGE!!! and " + piyo);
};
// index.ts:1:15 - error TS6133: 'hoge' is declared but its value is never read.
// 使っていない第一引数にアンダースコアを追加したのでコンパイルが通る
const func = (_hoge: string, piyo: string) => {
console.log("HOGE!!! and " + piyo);
};
// ちなみにアンダースコアだけでも通る
const func = (_: string, piyo: string) => {
console.log("HOGE!!! and " + piyo);
};