15_TypeScript 对象 --[深入浅出 TypeScript 测试]

TypeScript 是一种静态类型的编程语言,它是 JavaScript 的超集,添加了可选的类型注解和其他特性,旨在提高代码的健壮性和开发效率。TypeScript 对象是键值对的集合,其中键通常是字符串(也可以是符号),值可以是任何类型的值,包括但不限于数字、字符串、布尔值、函数或其它对象。

在 TypeScript 中定义对象时,你可以使用接口(interface)或者类型别名(type alias)来描述对象的结构和属性的类型。下面是一些关于 TypeScript 对象的基础知识:

定义对象类型

1.使用接口

interface Person {
   
  name: string;
  age: number;
  isStudent?: boolean; // 可选属性
}

let person: Person = {
   
  name: "Alice",
  age: 25,
};

下面我将给出两个使用接口定义对象类型的示例。

示例 1: 简单的用户信息对象

在这个例子中,我们将定义一个表示用户信息的对象类型。这个对象将包含用户的姓名、年龄和电子邮件地址。我们还会添加一个可选属性phoneNumber,这意味着不是每个用户都必须提供电话号码。

// 定义接口 User
interface User {
   
  name: string;
  age: number;
  email: string;
  phoneNumber?: string; // 可选属性
}

// 创建符合 User 接口的对象实例
let user1: User = {
   
  name: "Alice",
  age: 28,
  email: "alice@example.com"
};

let user2: User = {
   
  name: "Bob",
  age: 34,
  email: "bob@example.com",
  phoneNumber: "555-6789" // 包含了可选属性
};

示例 2: 图书管理系统的图书对象

在第二个例子中,我们将创建一个用于图书管理系统的接口。每个图书对象应该有标题、作者、出版年份,并且可能有一个关于该书是否已借出的布尔属性。

// 定义接口 Book
interface Book {
   
  title: string;
  author: string;
  publishedYear: number;
  isBorrowed?: boolean; // 可选属性,默认是 false
}

// 创建符合 Book 接口的对象实例
let book1: Book = {
   
  title: "The Great Gatsby",
  author: "F. Scott Fitzgerald",
  publishedYear: 1925
};

let book2: Book = {
   
  title: "1984",
  author: "George Orwell",
  publishedYear: 1949,
  isBorrowed: true // 已借出状态
};

这两个示例展示了如何使用接口来定义对象的结构,以及如何根据这些接口创建具体的对象实例。通过这种方式,我们可以确保对象具有特定的属性,并且可以为某些属性设置默认值或使其成为可选项。

2.使用类型别名

// 定义一个类型别名 Address,用于描述地址对象的结构。
// 每个地址对象都应该有以下三个属性:
// - street: 街道地址(例如:门牌号和街道名称)
// - city: 城市名称
// - zipCode: 邮政编码
type Address = {
   
  street: string;   // 必填属性:街道信息
  city: string;     // 必填属性:城市信息
  zipCode: string;  // 必填属性:邮政编码
};

// 创建一个符合 Address 类型的对象实例,并赋值给变量 address。
// 这个对象代表一个具体的地址,包含了街道、城市和邮政编码的信息。
let address: Address = {
   
  street: "123 Main St", // 设置街道信息
  city: "Wonder City",   // 设置城市信息
  zipCode: "90210"       // 设置邮政编码
};

下面是两个使用类型别名(type)来定义对象类型的示例。类型别名提供了一种定义复杂类型的简便方式,并且可以用来创建联合类型、元组或对象类型。

示例 1: 定义用户信息对象类型

在这个例子中,我们将使用类型别名来定义一个表示用户信息的对象类型。这个对象将包含用户的姓名、年龄和电子邮件地址。我们还会添加一个可选属性phoneNumber,这意味着不是每个用户都必须提供电话号码。

// 使用类型别名定义 User 对象的结构
type User = {
   
  name: string;        // 用户的名字
  age: number;         // 用户的年龄
  email: string;       // 用户的电子邮件地址
  phoneNumber
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桃园码工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值