【ISSUE】[TypeScript]組み込みの型を使いこなす

0

2024年12月23日 8:40

はじめに

組み込みの型について学んだので、備忘録として書いていきます。

組み込みの型とは

TypeScriptでは、「mapped types」や「conditional types」により可能となった操作のうち、特に有用なものが、組み込み型として、標準ライブラリとして用意されています

Readonly

Readonlyは、定義したオブジェクトのプロパティを全て読み取り専用にする機能です。

img
このように、「type T」に「Readonly」を付けると、中身のデータは読み取り専用となり、後からプロパティの内容を変更できなくすることができます。
これを使用することで、安全にデータを管理できるようになります。

Pick

Pick<T, K>は、Tという名前で定義したプロパティの中から、Kという名前のプロパティのみを残したオブジェクト型を表すことができます。
「type Q」を例にしてみると、「name」と「age」の二つのプロパティが設定されたオブジェクトにPickを設定し、第二引数に「age」を指定すると、「type Q」は、「age」のみを持つオブジェクト型として作られます。
また、二つ目の例にあるように、複数のプロパティを第二引数に設定することも可能です。

img

以下のように、オブジェクトを別で定義し、場面ごとで、取り出すプロパティを変更できるようにすることもできます。

img
同じようなプロパティを含むオブジェクトを複数使う場合に使えますね。

Partial,

Partialは、全てのプロパティをオプショナルにすることができます。
img

Extract

Extract<T, U>は、Tに設定した構成要素のうち(普通はユニオン型)、Uの部分型であるもののみを抜き出して、新しいユニオン型を定義することができます。

img

Exclude

Exclude<T, U>は、Extract<T, U>の逆で、Tに設定した構成要素のうち(普通はユニオン型)、Uの部分型であるもののみを取り除いた、新しいユニオン型を定義することができます。
img

まとめ

組み込みの型を利用することで、コードの量を減らすとともに、可読性の高い型定義をすることができます。
積極的に活用して、簡潔な型定義をできるようにしましょう。

最後に

他にも色々な記事を書いているので、よければ読んでいってください、、、

https://qiita.com/hukuryo/items/97797a91d7e2ee0bcabc

https://qiita.com/hukuryo/items/2c07c52ff3386d5d75b9

https://qiita.com/hukuryo/items/ebeb26823f944f143b11
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。