4章オブジェクト
Object literals
A set of keys and values
Each with their own type
オブジェクトリテラル
一連のキーと値
それぞれに独自の型
……………………………………………………
「3章 合併型とリテラル型」では、合併型とリテラル型について説明し、boolean
などのプリミティブ型やそれらのリテラル値(true
など)を扱いました。しかし、プリミティブ型の説明だけでは、JavaScriptコードで一般的に使われる複雑なオブジェクトの形状の表面をなぞったにすぎません。もし、TypeScriptがこうした複雑なオブジェクトを表現できなかったら、まったく使い物にならないでしょう。この章では、複雑なオブジェクトの形状をどのように表現するか、その割り当て可能性をTypeScriptがどのようにチェックするかを解説します。
4.1 オブジェクト型
{...}
の構文を使ってオブジェクトリテラルを作成すると、TypeScriptはそのプロパティから、新しいオブジェクト型(型の形状)を推論します。そのオブジェクト型は、オブジェクトの値と同じプロパティ名およびプリミティブ型を持つことになります。その値のプロパティにアクセスするには、「値.プロパティ
」またはそれと同等の「値['プロパティ']
」の構文を使います。
TypeScriptは、次に示すpoet
変数の型が、number
型のborn
とstring
型のname
の2つのプロパティを持つオブジェクト型であることを理解します。それらのプロパティにアクセスすることは許可されますが、それ以外のプロパティにアクセスしようとすると、そのようなものは存在しないので、型エラーが発生します。
Get 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.