背景
react-native-cli の good first issue に取り組んでいた時に発見した話
[#683] Convert merge.js to typescript by Naturalclar · Pull Request #687 · react-native-community/cliThe React Native Community CLI — Command line tools to help you build React Native apps - [#683] Convert merge.js to typescript by Naturalclar · Pull Request #687 · react-native-community/cliGitHub
Good first issue の内容は、Flow で書かれていたコードの TS 化である。
Issue
複数の引数がある関数にて、第 2 引数は使うが、第 1 引数は使いたくないという時にどうすればいいか。
例題
例えば以下のようなコードを考える
function example(dummyParam: any, name: string) {
return `Hello ${name}`
}
tsconfig 上で noUnusedParams が true になっている場合、第一引数を使用しなければ TS でエラーになってしまう。
そもそもそういう設計にするなという話は置いといて、既存 Class の関数を override する時など、こういうケースは結構起こりうる。
解決方法
使用しない引数の頭に_を追加すれば、noUnusedParams が true の場合でもその引数には適用されない。
function example(_dummyParam: any, name: string) {
return `Hello ${name}`
}
一番最初の文字が_であればいいので、_だけにしとけば問題ない。
function example(_: any, name: string) {
return `Hello ${name}`
}
使用する時は、override している為など、わざわざ使わない引数が存在する理由をコメントで書いて置くと良いだろう。
