全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 5 道配套习题

常用内置工具类型专题

专题说明

本专题涵盖TypeScript常用内置工具类型,包括Partial/Required/Pick/Omit等实用类型。

学习目标

  1. 掌握Partial/Required/Pick/Omit等核心工具类型
  2. 能够使用工具类型转换类型
  3. 理解工具类型的实现原理

学习建议

建议动手实践每个工具类型,理解其转换逻辑。

📝 配套习题(5 题)

💡 参考答案在文末
判断题
1

在 TypeScript 中,使用 Partial<T> 工具类型可以将类型 T 的所有属性变为可选属性,但不会改变属性的原始类型。

A

B

2

TypeScript 的 Omit<T, K> 工具类型与 Pick<T, K> 的功能完全相同,都是从类型 T 中选择指定的属性。

A

B

单选题
3
TypeScript
interface Config {
  host?: string;
  port?: number;
  timeout?: number;
}

使用 Required<Config> 后,以下哪个描述是正确的?

A

所有属性仍然是可选的,类型不变

B

所有属性变为必填,但类型仍保持原有的可选类型联合

C

所有属性变为必填,且属性类型中移除了 undefined

D

只有 host 属性变为必填

4
TypeScript
interface User {
  name: string;
  address: {
    city: string;
    zip: string;
  };
}
const user: Readonly<User> = {
  name: "Alice",
  address: { city: "Beijing", zip: "100000" }
};

关于以上代码,以下哪个操作会导致编译错误?

A

user.name = "Bob";

B

user.address.city = "Shanghai";

C

user.address = { city: "Shanghai", zip: "200000" };

D

console.log(user.name);

多选题
5
TypeScript
interface Product {
  id: number;
  name: string;
  price: number;
  description: string;
  createdAt: Date;
}

关于以上类型,以下哪些表达式的结果类型是 { name: string; price: number }

A

Pick<Product, 'name' | 'price'>

B

Omit<Product, 'id' | 'description' | 'createdAt'>

C

Required<Pick<Product, 'name' | 'price'>>

D

Partial<Pick<Product, 'name' | 'price'>>

参考答案
1.正确 2.错误 3.C 4.A 5.A;B;C
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 声明文件基础专题
下一个专题 → 接口与类专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码