概要
noUncheckedIndexedAccessをtsconfigでtrueにすると、インデックスシグネチャのような型内で宣言されていないフィールドの型推論にundefinedが追加されます
1. 背景
先日の TSKaigi で noUncheckedIndexedAccess を知ったので復習します!
まずインデックスシグネチャについて説明し、その後noUncheckedIndexedAccessについて説明します。
2. インデックスシグネチャ(インデックス型,index signature)とは
事前にわからないプロパティの型を定義することができます。
type MathConstants = {
pi: 3.14159;
phi: 1.61803;
[key: string]: number;
};
interface ModernConstants {
taniguchi: 0.6782344919;
raabe: 0.9189385332;
[key: string]: number;
}
このlebesgueプロパティは存在するか分からないですが値はnumber型になっています。
3. noUncheckedIndexedAccessとは
trueにするとインデックスシグネチャのような、型内で宣言されていないフィールドの型推論にundefinedが追加されます。
この設定がfalseの時
NODE_ENVという実際に存在するか分からないプロパティの値がstring型になっています。
この設定がtrueの時
NODE_ENVという実際に存在するか分からないプロパティの型推論にundefinedが追加されています!
4. 最後に
TypeScriptの便利な機能を活かせるようにこれからも勉強していきたいです!
5. 参考
本記事を読んで頂き、ありがとうございました。
いいねいただけると記事執筆の励みになりますので、参考になったと思われた方は是非よろしくお願い致します🙏