0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

noUncheckedIndexedAccessについて理解する

Last updated at Posted at 2024-05-17

概要
noUncheckedIndexedAccessをtsconfigでtrueにすると、インデックスシグネチャのような型内で宣言されていないフィールドの型推論にundefinedが追加されます

1. 背景

先日の TSKaiginoUncheckedIndexedAccess を知ったので復習します!

まずインデックスシグネチャについて説明し、その後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;
}

playground

image.png

このlebesgueプロパティは存在するか分からないですが値はnumber型になっています。

3. noUncheckedIndexedAccessとは

tsconfigのdoc

trueにするとインデックスシグネチャのような、型内で宣言されていないフィールドの型推論にundefinedが追加されます。

この設定がfalseの時

playgrpund

image.png

NODE_ENVという実際に存在するか分からないプロパティの値がstring型になっています。

この設定がtrueの時

playground

image.png

NODE_ENVという実際に存在するか分からないプロパティの型推論にundefinedが追加されています!

4. 最後に

TypeScriptの便利な機能を活かせるようにこれからも勉強していきたいです!

5. 参考

本記事を読んで頂き、ありがとうございました。
いいねいただけると記事執筆の励みになりますので、参考になったと思われた方は是非よろしくお願い致します🙏

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?