01 为什么要学习 TypeScript?
待兔 107 2

大家好,我是待兔,从2012年毕业到现在,已经有10年以上的研发工作经验了,我曾就职过新浪,搜狐等大厂,从最初做C/C++到后来做安卓开发,再后来接触Vue以及到最后做了一个技术社区 www.helloworld.net,中间经过过几次技术转型,其实也不算是技术转型,只是工作中有幸要用到这些技术,不得不去学习新的东西。

在写 www.helloworld.net 的过程以及之前的负责的前端项目中,我深深的体会到 javascript的种种弊端与不爽,尤其是我之前是写过 c/c++,java, go等这些强类型语言,对javascript这种弱类型的语言在易用的同时,它的缺点更是让人印象深刻,尤其是刚开始用的时候,简直抓狂

  • 场景一、你调用一个别人写的函数,但是很不幸这个家没有留下任何注释,你只能硬着头皮看它里面的逻辑

  • 场景二、明明已经定义好了接口,但是一联调就会报错 "typeerror"。

  • 场景三、你修改了一个底层类,但是却不知道这个类有多少引用。

javascript 对变量的类型比较宽容,他不会要求你声明变量时指定变量的类型。 所以普遍前端开发者都会缺少 "类型思维"。 没有类型的语言其实是不利于大型项目的开发的。

好消息是:我们现在有了 TypeScript,

TypeScript简介

TypeScript 是由 C#语言的创始人 Anders Hejlsberg 设计的一种编程语言,设计的初衷就是为了帮助 JavaScript 的开发人员能像类似高级语言c#,Java那样编写代码,比如使用高级语言的强类型、面向对象、语法检查,代码编译等特点。 TypeScript包含一个编译器,可以将用TypeScript 编写的代码转换为原生的 JavaScript

TypeScript 目前最新的版本是 4.x 了,是目前微软最好的产品之一,现在完全免费并且使用 Apache 协议开源了 TypeScript,并成为社区很活跃的框架之一。连谷歌这样的死对头,也拥抱 TypeScript ,在 Angular 2.0 版本就开始集成 TypeScript,如果你不学 TypeScript,Angular 这个框架就无法使用。目前 ReactVue 在未来的版本都在考虑集成 TypeScript 。在可以预计的未来,如果还不开始学习 TypeScript,我们就不能使用这些框架的新特性了。

TypeScript有哪些好处

静态类型的好处到处都有说,这里就不说得太详细了,随便列一点。

  • 杜绝手误导致的变量名写错。
  • 自动完成。
  • 重构支持。
  • 类型可以一定程度上充当文档

对我来说最有用的就是这几点,特别是自动完成。

本人天生脑容量小,难以驾驭动态类型语言。

TypeScript本质

TypeScript 与 JavaScript 本质并无区别,可以将 TypeScipt 理解为是一个添加了类型注解的 JavaScript,比如 const name = "tom",它同时符合 TypeScriptJavaScript 的语法,有点类似 c 语言 和 c++

TypeScript 更加可靠

因为有了类型,代码也会变得更好维护,尤其是上面的3个场景

  • 场景一、你调用一个别人写的函数,但是很不幸这个家没有留下任何注释,你只能硬着头皮看它里面的逻辑
  • 场景二、明明已经定义好了接口,但是一联调就会报错 "typeerror"。
  • 场景三、你修改了一个底层类,但是却不知道这个类有多少引用。

面向接口编程

编写 TypeScript 类型注解,其实本质就是接口设计。

我们用 TypeScript 设计一个 React 组件示例,从中我们很容易了解组件接收数据的结构和类型,并清楚地知道如何在组件内部编写安全稳定的 JSX 代码。

interface IBlogInfo{
  /** 博客 id */
  id: number;
  /** 博客标题 */
  title: string;
  /** 博客简介 */
  desc?: string;
}
function BlogInfo(props: IBlogInfo) {
  ...
}

TypeScript 极大可能改变你的思维方式,其实写过强类型语言的人都有这样一个习惯,就是你写任何函数或者类之前,者需要先想好函数里面有哪些参数,每个参数是什么类型,比如写一个类,要知道类里面有哪些字段,每个字段都是什么类型,这些都是提前想好的,从而逐渐养成一个好习惯。这显然可以减少不必要的代码重构,从而大大提升编码效率。

TypeScript 正成为主流

现在越来越多的公司都把 javascript写的项目 转成了 TypeScript来写,最近新出的 vue3.0,也完全用TypeScript来进行重写了,而且还有 Microsoft、Google 这两家国际大厂做背书

学习TypeScript需要有好的学习方式

其实不管学习什么技术 ,都需要一个好的学习方法

本专栏就是从0开始一步一步的带你走入 typescript的世界

评论区

索引目录