Jude's blog

首页

关于

归档

ts

132、内置工具类型

JavaScript 中的内置方法是用来操作值的,TypeScript 的内置方法是用来操作类型的。 Partial:可选属性 它接收一个对象类型,并将这个对象类型的所有属性都标记为可选,这样我们就不需要一个个将它们标记为可选属性了。 12345678910111213141516171819type User = { name: string age: number email: string}type PartialUser = Partial<User>const user: User = { name: 'John Doe', age: 30, email: 'john.doe@example.com'}// 可以不实现全部的属性..

更多
ts

131、泛型

在绝大部分编程语言中,函数都是一个非常重要的概念,如果缺少了函数,我们的代码可能会变得冗长晦涩,到处夹杂着重复的片段。而在函数中,最重要的概念则是参数,参数是一个函数向外界开放的唯一入口,随着入参的差异,函数可能也会表现出各不相同的行为。 泛型类型别名能够充当一个变量,存放一组存在关联的类型: 1type Status = 'success' | 'failure' | 'pending' 其实类型别名还能够充当函数的作用,但函数怎么能没有入参?我们可以这么来为类型别名添加一个入参,也就是泛型。 12345type Status<T> = 'success' | 'failure' | 'pending' | Ttype CompleteStatus = Status<'offlin..

更多
ts

130、类型别名、联合类型、交叉类型

在 TypeScript 中,类型别名起到的就是变量的作用,它可以存储一个类型,后续你可以直接引用它即可。 1234type Handler = () => voidconst handler1: Handler = () => {}const handler2: Handler = () => {} 也可以使用类型别名来替换接口,实现对对象类型的复用: 12345678910type User = { userName: string userAge: number userMarried: boolean userJob?: string}const user: User = { /* ... */&..

更多
ts

129、any、unknown、never类型和类型断言

any 类型any 主打的就是一个“任意”,而在类型层面,我们也可以这么理解,any 类型 = string + number + boolean + 任意对象类型 + 拥有任意参数类型与任意返回值类型的函数类型 + …,它就是无所不包的,因此,在我们不知道对一个变量提供何种类型时,就可以使用 any 类型来作为临时性的过渡方案。 为什么 any 只是临时过度?既然 any 类型能表示所有类型,那它还能带给我们精确的类型提示吗?当然不能,实际上使用了 any 类型,就意味着告诉类型检查系统,这个变量我给它开白名单了,你放过它吧,它想干啥就干啥。这是相当危险的行为,也和我们选择 TypeScript 的原因相悖,因为使用了 any 类型之后,要想代码能够正常运行,你其实又相当于恢复到之前使用 J..

更多
12327