👋

TypeScriptの勉強(型結合)

2023/08/16に公開

AWS CDKの為のTypeScriptの勉強(型結合)

はじめに

インフラエンジニアの私がAWS CDKの為の勉強の為の備忘録です。型結合について勉強しました。

TypeScript の型結合について: Union と Intersection

TypeScript は、JavaScript のスーパーセットとして、型の強制と型の安全性をもたらします。TypeScript の型システムを利用することで、より安全で予測可能なコードを書くことができます。この記事では、TypeScript でよく使用される UnionIntersection について、勉強しました。

1. Union Types (和集合型): これかそれ

Union は、変数が取りうる複数の型の中から1つの型を持つことを示す方法です。

type Animal = 'cat' | 'dog' | 'bird';

let myPet: Animal;
myPet = 'cat';  // OK
myPet = 'fish';  // エラー! 'fish'はAnimalの型には含まれていません

この例では、myPet'cat', 'dog', 'bird' のいずれかの値しか取ることができません。

2. Intersection Types (共通集合型): これとそれ

Intersection は、2つ以上の型を組み合わせて、すべての型の特性を持つ新しい型を作成する方法です。

type HasName = {
    name: string;
};

type HasAge = {
    age: number;
};

type Person = HasName & HasAge;

const tom: Person = {
    name: 'Tom',
    age: 25
};

この例では、PersonHasNameHasAge の両方の特性を持っています。

まとめ

  • Union (|): 複数の型の中から1つの型を選ぶ。"これかそれ" のような考え方です。
  • Intersection (&): 複数の型を結合して1つの新しい型を作る。"これとそれ" のような考え方です。

参考

実践 AWS CDK - TypeScript でインフラもアプリも! - Silverworks - BOOTH

インターフェース (interface) | TypeScript入門『サバイバルTypeScript』

TypeScript のいろんな型テクニック

Discussion