我深深感受到 TypeScript 已经远远不够用了!

科技   2024-11-22 09:18   中国  

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

TypeScript 静态类型提示

说到类型校验,很多人都想到了 TypeScript,对的,其实 TypeScript 是挺有用的,它能给予我们静态类型提示

运行时校验

但是其实,TypeScript 能提供的也仅仅是静态类型提示,它提供不了运行时校验,就刚刚上面这两个例子,其实你硬要运行的话,TypeScript 也拦不住你,因为它就做不了运行时校验

想要做校验,只能是我们自己写代码去手动去校验

思考

那么有没有办法可以同时兼顾 静态类型提示 和 运行时校验 呢?也就是,需要兼顾这两件事:

  • TypeScript 类型静态提示
  • 运行时,根据 TypeScript 的类型进行校验

答案是有的,近几年有一个库非常火爆,那就是 Zod

Zod

代码示例来源:https://juejin.cn/post/7426923218952847412

Zod 的特点包括了

  • 类型安全: Zod提供了从运行时验证到静态类型推断的端到端类型安全
  • 零依赖: Zod没有任何依赖项,这意味着它不会给你的项目增加额外的包袱
  • 灵活性: Zod支持复杂的嵌套对象和数组模式,可以处理几乎任何数据结构
  • 可扩展性: 你可以轻松地创建自定义验证器和转换器
  • 性能: Zod经过优化,可以处理大型和复杂的数据结构,而不会影响性能

基本用法

首先是基本类型的校验

接着是对象类型的校验

然后是数组的校验

高级用法

上面是 Zod 的基本用法,现在给大家介绍一些它的高级用法

你可以根据条件去进行验证

递归校验

自定义验证器

Zod 在前端框架中的使用

其实现在有很多的组件库都是用了Zod 来进行表单检验,我们拿 React 来举例子

结语

我是林三心,一个待过小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司的作死型前端选手

前端之神
一位前端小菜鸡,写过400多篇原创文章,全网有6w+个前端朋友,梦想是成为”前端之神“~
 最新文章