首页/ 学科题库/ TypeScript/ 常用内置工具类型专题测试
TypeScript 模拟试卷

常用内置工具类型专题测试

5 题 75 分钟 难度:★★
  1. Partial 与 Required: 可选/必填类型转换
  2. Pick 与 Omit: 属性选取与排除
  3. Record: 键值对类型创建
  4. Readonly 与 Mutable: 只读与可变类型
  5. Exclude 与 Extract: 联合类型过滤

试卷习题(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
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 声明文件基础专题测试 下一套 → 接口与类专题测试