naturalclar.dev

noUnusedParametersがtrueでも部分的にignoreできる話

September 10, 2019

背景

react-native-cligood first issue に取り組んでいた時に発見した話

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 している為など、わざわざ使わない引数が存在する理由をコメントで書いて置くと良いだろう。


Naturalclar (Jesse Katsumata)

Author: Naturalclar (Jesse Katsumata)

X Github