useUnknownInCatchVariables
catch(err) { .. }のerrをunknown型にする
有効にした時
catch(err) { .. }のerrがunknownになる
unknownをinstanceofを使ってErrorの種類を型で絞り込んで使う
errには、anyかunknownのみアノテーションできる
意図的に従来と同じようにしたければ、catch(err:any) {..}と書けばいい
v4.3以前または、falseのとき
code:ts
try {
..
}
catch (err) { // err: any
console.error(err.message); // Allowed, because 'any'
}
catch(err)のerrはany
ここにcatch(err: unknown)のようなアノテーションを書くことすらできないので、anyとして扱わないといけない
すると、catch節内の処理が型安全でなくなる