前端 TypeScript 面试题, ️ 什么是 TypeScript 的对象类型?怎么定义对象类型?
前端 TypeScript 面试题, ️ 什么是 TypeScript 的对象类型?怎么定义对象类型?
QA
Step 1
Q:: 什么是 TypeScript 的对象类型?
A:: TypeScript 的对象类型是指用来描述对象形状的一种类型。例如,它可以指定对象有哪些属性,每个属性的类型是什么。对象类型可以通过接口(interface)或类型别名(type alias)来定义。例如:
interface User {
name: string;
age: number;
}
这个定义了一个 User
对象类型,其中 name
是一个字符串类型,age
是一个数字类型。
Step 2
Q:: 怎么定义对象类型?
A:: 对象类型可以使用 interface
或 type
关键字来定义。使用 interface
时,可以通过以下方式定义对象类型:
interface Person {
firstName: string;
lastName: string;
}
也可以使用 type
定义对象类型:
type Person = {
firstName: string;
lastName: string;
};
这两种方式的主要区别在于 interface
可以被扩展,而 type
更加灵活,可以组合其他类型。
Step 3
Q:: TypeScript 中如何使用可选属性?
A:: 在 TypeScript 中,可选属性可以通过在属性名后加上问号 ?
来表示。可选属性意味着该属性可以存在也可以不存在。示例:
interface Car {
brand: string;
model?: string;
}
在这个例子中,model
属性是可选的,因此一个 Car
对象可以有 model
属性,也可以没有。
Step 4
Q:: 什么是 TypeScript 的接口扩展?
A:: 接口扩展是指一个接口可以继承另一个接口的所有属性,并可以添加新的属性。接口扩展使用 extends
关键字。例如:
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
在这个例子中,Dog
接口继承了 Animal
接口,因此 Dog
具有 name
属性和 breed
属性。
Step 5
Q:: TypeScript 中如何定义只读属性?
A:: 在 TypeScript 中,可以使用 readonly
关键字来定义只读属性。一旦赋值,只读属性的值就不能再被修改。例如:
interface Book {
readonly title: string;
}
在这个例子中,title
是一个只读属性,这意味着你不能修改 title
的值。
用途
面试这些内容是为了评估候选人对 TypeScript 的理解,特别是在类型系统方面的掌握。类型系统是 TypeScript 的核心,它可以帮助开发者在编写代码时捕获错误,提高代码的可靠性和可维护性。在实际生产环境中,这些概念常用于定义复杂的数据结构,确保数据的一致性,并帮助团队成员之间保持一致的代码风格。\n相关问题
🦆
什么是 TypeScript 的类型别名?▷
🦆
TypeScript 中的类型守卫是什么?▷
🦆
如何使用 TypeScript 中的联合类型和交叉类型?▷
🦆
TypeScript 中泛型的用途是什么?▷