真的有人在项目中进行 TS 类型体操吗?

2022-04-20 17:28:40 +08:00
 waiterlin989898

因为发现自己的 TS 一直是半桶水的水平,所以想通过看一些开源的项目,看看有没有好借鉴的代码,但在 github 上翻了几个 TS 的项目,发现基本上都是 70%的正常的 JS 书写,即使有,也基本没有全面覆盖类型推断,而 TS 类型体操更是寥寥无几,但关于 TS 的话题,在前端却异常的火爆。可能是我查询的项目有问题,有没有 V 友能提供几个相关 TS 覆盖率比较全的项目,十分感谢。

8202 次点击
所在节点    程序员
49 条回复
Jsonz
2022-04-21 10:34:37 +08:00
antDesign ReactTable
mikulch
2022-04-21 10:36:57 +08:00
@Rocketer 写 java 的人怕不太喜欢 ts 哦。ts 的类型比 java 还要复杂,设计思路都不一样。
mmmfj
2022-04-21 12:31:18 +08:00
开源库会用,项目用不到
equt
2022-04-21 12:49:08 +08:00
fp-ts ,或者说一众 FP 库,可以看一下。基本是抄了当年 OCaml 的操作,用 Module System 模拟 HKT ,然后把一些常见的代数结构搬进了 TS 。

其实热门一些的项目可以看看 Vue 3 的几个编译时宏是怎么定义的;官方的几个新的类型,比如递归的 Awaited 是怎么随着 tsc 一步步优化进标准库的;官方的 Blog 也值得看看,尤其注意几个重要的时间节点,比如 Template String Literal 、递归类型。

最后试着实现简单的运行时 pick 、rename 、omit 这种工具函数,困难的可以试试 encoding 和 decoding ,参考 zod 或者 io-ts ,看看后者怎么把 Lens 搬到 TS 里。

P.S. 上面几个库的衍生品也很有意思
justin2018
2022-04-21 13:53:37 +08:00
TS 类型体操 感觉好复杂 但是有套路 要是在复杂 我没也搞不定了~~

这个小册内容还不错 可以看看 非作者~~ 非推广~~
TypeScript 类型体操通关秘籍
https://juejin.cn/book/7047524421182947366
jin5354
2022-04-21 14:34:47 +08:00
实际开发中写 ts 写着写着写不下去了没太多必要纠结,直接 any ,as 什么的用起来。
因为 ts 开发了这么多年还是个弱智,太多的类型收窄什么的不懂自动识别,写着费劲死
keyrinrin
2022-04-21 14:36:06 +08:00
简单用用是挺好用,但看到其它项目一堆泛型秀操作,感觉更繁杂了
chuanqirenwu
2022-04-21 17:20:19 +08:00
弱弱问一下,什么是类型体操?
KaGaMiKun
2022-04-24 18:22:54 +08:00
想起了我这边之前 vue 有人设计的组件直接 any
但用得地方又很有限,有些地方没法重用,但打包就是没问题,一跑就红

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/848199

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX