June 2023
Intermediate to advanced
336 pages
4h 39m
Japanese
Object literals
A set of keys and values
Each with their own type
オブジェクトリテラル
一連のキーと値
それぞれに独自の型
……………………………………………………
「3章 合併型とリテラル型」では、合併型とリテラル型について説明し、booleanなどのプリミティブ型やそれらのリテラル値(trueなど)を扱いました。しかし、プリミティブ型の説明だけでは、JavaScriptコードで一般的に使われる複雑なオブジェクトの形状の表面をなぞったにすぎません。もし、TypeScriptがこうした複雑なオブジェクトを表現できなかったら、まったく使い物にならないでしょう。この章では、複雑なオブジェクトの形状をどのように表現するか、その割り当て可能性をTypeScriptがどのようにチェックするかを解説します。
{...}の構文を使ってオブジェクトリテラルを作成すると、TypeScriptはそのプロパティから、新しいオブジェクト型(型の形状)を推論します。そのオブジェクト型は、オブジェクトの値と同じプロパティ名およびプリミティブ型を持つことになります。その値のプロパティにアクセスするには、「値.プロパティ」またはそれと同等の「値['プロパティ']」の構文を使います。
TypeScriptは、次に示すpoet変数の型が、number型のbornとstring型のnameの2つのプロパティを持つオブジェクト型であることを理解します。それらのプロパティにアクセスすることは許可されますが、それ以外のプロパティにアクセスしようとすると、そのようなものは存在しないので、型エラーが発生します。