TypeScript 提供了几种实用程序类型来促进常见的类型转换,本文着重介绍其中的佼佼者 Pick 和 Omit:
从字面上来看,Pick译为“摘、取、拿”,Omit译为“省去、忽略”,知道了他们俩的意思,实际就学会了他们俩了。
1. Pick介绍
Pick 可以从一个对象类型中 取出某些属性
interface Todo {
title: string
description: string
completed: boolean
}
# TodoPreview 只包含 title 、completed 两个字段了
type TodoPreview = Pick<Todo, "title" | "completed">
const todo: TodoPreview = {
title: "Clean room",
completed: false
}
2. Omit介绍
Omit 可以从一个对象类型中 忽略某些属性
interface Todo {
title: string
description: string
completed: boolean
createdAt: number
}
# TodoPreview 包含了 title、completed、createdAt 三个字段
type TodoPreview = Omit<Todo, "description">
const todo: TodoPreview = {
title: "Clean room",
completed: false,
createdAt: 1615544252770
}
End--------------------------