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型のbornstring型の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.