TypeScript入坑指南(一)

1,613 阅读2分钟

前言

近年来,Ts在前端的热门程度越来越高,尤大大也说了vue3.0版本对Ts的支持会更友好(从原来的flow转向Ts,真香),学习Ts,理解Ts,也是前端必不可少的一个趋势。下面就来了解一哈,首先是最基本的疑问三连,Ts是什么?它有什么作用?我们为什么要用它?

TypeScript是什么

官方定义

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open source.

TypeScript是JavaScript的类型超集,可编译为纯JavaScript,它编译的js可以在任何浏览器上运行,它的编译工具可以在任何服务器、系统上运行。TypeScript是开源的。

简单来说,TypeScript是JavaScript的一个超集,由微软开发的开源编程语言,提供了强大的类型系统对ES6的支持

TypeScript有什么作用

  • 类型校验,帮助你在编译阶段发现类型错误,可以尽早解决
  • 作为文档,变量有啥属性、方法,函数怎么使用,看一下类型定义即可知道
  • IDE增强功能,提供代码补全、接口提示、跳转定义、重构等等
  • 等等...

为什么要选择TypeScript

我们为什么要选择Ts,它有什么优势呢?

首先,毋庸置疑,一个规范的开发肯定会让我们的代码可读性项目可维护性更强,但仅仅是简单的增强可维护性,肯定不够吸引我们去学习它的,还有以下一些点:

  • 原有的.js文件,无需任何改动,可以直接更改为.ts
  • 没有进行类型注解的,也可以自动推导判断
  • 编译报错?不影响生成js文件
  • 可以编写单独的类型文件供 TypeScript 读取,以兼容不是用ts写的第三方库
  • 支持ES6规范,甚至支持部分草案的规范
  • 活跃的社区生态,除了强有力的靠山,社区生态也是一门语言发展的极大推力

TypeScript的缺点

任何一个事物,都不可能是十全十美的,Ts除了它的优势,也会存在一些缺点:

  • 学习成本,学习Ts,需要理解一些前端开发不熟悉的概念,如接口(Interfaces)、泛型(Generics)等
  • 开发成本,开发时需要多增加类型定义,短时间内需要开发成本
  • 使用->集成->构建,整个流程会多一些工作量
  • 不是所有的库都能完美结合使用

结语

目前Ts在前端项目的使用中并不是强制的,只是作为未来前端发展的一种趋势,最主要还是看公司团队和项目,对于老项目可能引入的成本真的太高,团队不会做考虑,而对于新项目的开展,还是可以考虑引入Ts,毕竟万事开头难,难的只是一时。