{}を使うと、オブジェクトリテラルを定義することができる
const john = { name: "John", age: 20 };
.を使えばプロパティにアクセスできる
const john = { name: "John", age: 20 };
console.log(john.name); // 'John'
以下のように定義できる
let obj: { name: string; age: number }; // { プロパティ名: 型; ... }
readonlyをつけると読み取り専用になる
let obj: { readonly name: string; age number };
obj = { name: "John", age: 20 };
obj.name = "Tom"; // [エラー]
オブジェクトの型注釈のプロパティに? をつけると、そのプロパティは代入時に省略できる
let obj = { name: string; age?: number };
obj = { name: "John" }; // OK
オブジェクトプロパティに関数を定義できる
const obj = {
a: 1,
b: 2,
sum(): number {
return this.a + this.b;
},
};
console.log(obj.sum()); // 3
インデックス型を利用することで、任意のキーの値を取得することができる