# common 工具类型
在 CodeSandBox 中尝试 (opens new window)
# And 与
求出两个布尔类型进行逻辑与的结果
泛型参数
C1
- 约束
boolean
- 必须
是
- 约束
C2
- 约束
boolean
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.And<true, true> // true
type Result2 = common.And<true, false> // false
type Result3 = common.And<false, true> // false
type Result4 = common.And<false, false> // false
// 你可以使用 common.And3 和 common.And4 进行多个布尔类型的计算
# Or 或
求出两个布尔类型进行逻辑或的结果
泛型参数
C1
- 约束
boolean
- 必须
是
- 约束
C2
- 约束
boolean
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.Or<true, true> // true
type Result2 = common.Or<true, false> // true
type Result3 = common.Or<false, true> // true
type Result4 = common.Or<false, false> // false
// 你可以使用 common.Or3 和 common.Or4 进行多个布尔类型的计算
# Not 非
求出布尔类型进行逻辑非的结果
泛型参数
- C
- 约束
boolean
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.Not<false> // true
type Result2 = common.Not<true> // false
# CheckLeftIsExtendsRight 约束校验
校验左侧类型是否满足右侧类型的约束
如果是,则得到 true
,否则得到 false
泛型参数
T
- 约束
any
- 必须
是
- 约束
R
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.CheckLeftIsExtendsRight<1, number> // true
type Result2 = common.CheckLeftIsExtendsRight<1, any> // true
type Result3 = common.CheckLeftIsExtendsRight<1, 2> // false
# IsEqual 类型相等
判断两个类型是否严格相等
如果是,则得到 true
,否则得到 false
泛型参数
T
- 约束
any
- 必须
是
- 约束
R
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.IsEqual<1, number> // false
type Result2 = common.IsEqual<1, 1> // true
type Result3 = common.IsEqual<1, any> // false
# IsAny 判断 any
判断当前类型是否为 any
如果是,则得到 true
,否则得到 false
泛型参数
- T
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.IsAny<unknown> // false
type Result2 = common.IsAny<any> // true
# IsNever 判断 never
判断当前类型是否为 never
如果是,则得到 true
,否则得到 false
泛型参数
- T
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.IsNever<never> // true
type Result2 = common.IsNever<1> // false
# IsUnion 判断联合类型
判断当前类型是否为联合类型
如果是,则得到 true
,否则得到 false
泛型参数
- T
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.IsUnion<1 | 2> // true
type Result2 = common.IsUnion<1> // false
# Diff 差异
求两个联合类型的差异
泛型参数
T
- 约束
any
- 必须
是
- 约束
C
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.Diff<1 | 2, 1 | 3> // 2 | 3
type Result2 = common.Diff<1 | 2, 1 | 2> // never
# SumAggregate 并集
求两个联合类型的并集
泛型参数
T
- 约束
any
- 必须
是
- 约束
C
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.SumAggregate<1 | 2, 1 | 3> // 1 | 2 | 3
# Nullable 可为空
将类型变为可以为空的类型
泛型参数
- T
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.Nullable<1 | 2> // 1 | 2 | null | undefined
# Many 一个或若干个
将类型变为可为数组的联合类型
泛型参数
- T
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.Many<string> // string | string[]
# UnionToIntersection 联合转交叉
将联合类型变为交叉类型
泛型参数
- U
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.UnionToIntersection<{ a: 1 } | { b: 1 }> // { a: 1 } & { b: 1 }
# UnionToTuple 联合转元组
将联合类型变为元组类型
泛型参数
- U
- 约束
any
- 必须
是
- 约束
示例
import { common } from "typescript-lodash"
type Result1 = common.UnionToTuple<1 | 2 | 3> // [1, 2, 3]
← object 工具类型 其他 →