Logo
Section 1 / 4

TypeScript 中的多种对象类型介绍

在本节课中,我们将介绍 TypeScript 中不同类型的对象。

导入

TypeScript 中的多种对象类型介绍

在本节课中,我们将介绍 TypeScript 中不同类型的对象。

TypeScript 有多种不同的对象类型。

在本节中,我们将了解两个容易混淆的对象类型:Object 和 object —— 一个以大写字母 O 开头,另一个以小写字母 o 开头。

1let o1: Object = "I am an Object"; 2let o2: object = { text: "I am an object" }; 3let o3: Object = { text: "I am also an Object" }; 4let o4: object = ["I", "am", "an", "object"]; 5let o5: Object = ["I", "am", "an", "Object"]; 6 7console.log(o1); 8// console.log(o2.text); // 编译失败 9// console.log(o3.text); // 编译失败 10console.log(o4); 11console.log(o5);

我们还将看到花括号引入了第三种对象类型。

1let curly1 = { text: "An object" }; 2let curly2: { text: string } = { text: "An object" }; 3let curly3: {} = { text: "An object" }; 4 5console.log(curly1.text); 6console.log(curly2.text); 7// console.log(curly3.text); // 编译失败

小写的 object 类型不仅来自 Object.create,也出现在 TypeScript 中实例化类时。它表示所有非原始类型,即不是 boolean、number、string、symbol、null 或 undefined 的类型。

1let create1 = Object.create({ text: "I am a created object" }); 2let p = { text: "I am an object" }; 3let create2 = Object.create(p); 4 5console.log(create1.text); 6console.log(p.text); 7console.log(create2.text);

在接下来的课程中,我们将更详细地学习花括号形式的对象类型。

映射类型

大括号对象