前言:为什么需要使用高级类型,正常的类型不能满足日常的业务需求,对于复杂的数据结构、函数签名、类型转换,我们需要使用高级类型来处理,常用的高级类型包含以下几种:
常用的类型定义:
基本类型: 像 number、string、boolean 这样的基本类型,它们表示简单的数据。
对象类型: 可以使用对象字面量、接口、类等定义对象类型。
数组和元组: 具有内置的数组类型和元组类型,用于处理集合数据。
函数类型: 支持函数类型,包括参数类型和返回值类型。
1、交叉类型
是通过 & 符号,将多个类型或者方法合并为一个类型
如:
type Age = {age: number}
type Name = {name: string}
type job = string
type Person = age & name & job
此时 Person 包含了 age name job 的类型
使用于对象合并场景,比如声明一个函数,将两个对象合并为一个对象
<script lang="ts">
function extend<T, U>(first:T, second:U): T&U {
let result:<T & U> = {}
for(let i in first) {
result[i] = first[i]
}
for(let i in second) {
if (!result.hasOwnProperty(i)) {
result[i] = second[i]
}
}
return resul