全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

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

5 题 75 分钟 难度:

考察知识点

  1. Partial 与 Required: 可选/必填类型转换
  2. Pick 与 Omit: 属性选取与排除
  3. Record: 键值对类型创建
  4. Readonly 与 Mutable: 只读与可变类型
  5. Exclude 与 Extract: 联合类型过滤
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'>>

← 上一个试卷 声明文件基础专题测试
下一个试卷 → 接口与类专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库