typescript的基本结构_TypeScript 次日指南

本文介绍了TypeScript在项目落地中的常见问题和解决方案,包括为什么要使用TypeScript,何时不需要它,jsDoc的重要性,TSX与JSX的区别,以及如何找到变量的类型定义。强调了TypeScript适合大型项目,类型系统可以提高代码质量和减少沟通成本,但小型项目可能不适用。此外,文章还提供了查找类型定义的技巧,并讨论了多重extends和动态索引的处理方法。
摘要由CSDN通过智能技术生成

eaca87bf1c206dd333ab42dcb879151d.png

本文首发于我的博客:

TypeScript 次日指南 | 博客​tonghuashuo.github.io
280ff0a618b6bc4f62692b514bc1e0fd.png

杂谈

不知道是就我这样,还是大家也是,最近的内容圈子里关于 TypeScript 的文章满天飞,各种 TypeScript 有多好、多受欢迎,要不就是 TypeScript 的教程、实践。偏偏我在这时候有了写这篇文章的想法,搞得很有跟风蹭热度的嫌疑。

作为一名坚持原创的作者,我并不想把市面上随手可得的东西,换一种方式再讲给大家听,这样不仅是在浪费大家的时间,也是在浪费我自己的时间。我所理解的为社区做贡献,应该是能够填补当前环境下的一些空白,去做一些真正有意义的事,而不是摆出一副资深的样子,去转发或是创造一些重复的内容。

今天这篇文章,虽然有跟风的嫌疑,但我向你保证,内容依然是绝对的原创。如有巧合,那么英雄所见略同。

为什么是次日?

上手 TypeScript 并不难,有 JavaScript 基础的同学,花个一天时间过一遍文档,基本就都清楚了。如果你刚好还有 Java、C# 等后端语言的基础,那么其中关于 OOP 的一些概念相信你一定会觉得非常眼熟。

如果你刚看完文档就开始准备把 TypeScript 用到项目中去,那么恭喜你,你很快就会遇到各种坑,而且你无法直接从文档中寻找到对应的解决方案。这篇文章的存在,就是希望能够填补这中间的空白,帮助各位顺利的把 TypeScript 落地到项目中。

这便是标题中「次日」的由来。如果你还没有看过 TypeScript 的文档,那么这篇文章现在还不适合你,建议先收藏起来,等看完了文档再回来。

如果你已经准备好了,那我们开始吧。

你或许并不需要 TypeScript

每个人接触 TypeScript 的原因不同,有的是被人安利,有的是因为团队在用,有的是因为用了 Angular。但不管因为什么入了这个坑,我们都需要明白:TypeScript 并非必须。

TypeScript 适合大型项目,小型项目最好还是继续用 JavaScript。这已经是业内的一个共识。

TypeScript 可以简单理解为 JavaScript + Types。从工程效率的角度上讲,Types 的部分属于额外的工作量,如果不能给项目带来足够的收益,去平衡掉其引入的成本,那么这项投入就不是很值得。

如果只是官网之类的小型项目,类型不类型的并不重要,没必要为了用 TypeScript 而用 TypeScript。但随着项目的规模和复杂度的增加,代码质量、沟通成本等问题开始浮现,而这恰恰是类型系统能够解决的问题。通过类型检测,我们可以更早的发现潜在的类型错误,进行主动防御,进而提高代码质量;通过类型定义,我们可以更加直观的描述我们的数据结构,降低团队作业中的沟通成本。

因此,要不要用 TypeScript,取决于你项目的类型以及规模,不要盲目跟风。

别忘了 jsDoc

很多人对 TypeScript 有一个误解,觉得有了静态类型的代码已经足够「自解释」,就不需要 jsDoc 一类的注释了。

静态类型描述的是数据的结构,而注释描述的是数据的作用,两者解决的是不同的问题,彼此之间并不冲突。

比如下面这段 JavaScript 代码:

function convert (val, config) {
    
  //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值