携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情
这几天准备系统地把TypeScript学一下,就在B站上找了对应的课程,并且想以文章的形式把课堂中的一些笔记记录一下。
TypeScript介绍
- TypeScript他的简称就是TS,是JavaScript的超集,简单来说就是JS里有的TS都有
- 从名字上来看,TypeScript就是Type+JavaScript,在JS基础之上为JS添加了类型支持
- typescript是微软开发的开源编程语言,可以在任何运行JavaScript的地方运行
TypeScript为什么要为JS添加类型支持?
- 背景:JS的类型系统存在先天缺陷,js代码中绝大部分错误都是类型错误(uncaught TypeError)
- 问题:增加了找BUG,改BUG的时间,严重影响开发效率
- 从编程语言的动静来区分,typescript属于静态类型的编程语言,js属于动态类型的编程语言
- 静态类型:编译期做类型检查
- 动态类型:执行器做类型检查
- 代码编译和代码执行顺序:一编译二运行
- 对于js来说:需要等到代码真正去执行的时候才能发现错误
- 对于ts来说:在代码编译的时候(代码执行之前)就可以发现错误
- 并且,配合VScode等开发工具,TS可以提前到在编写代码的同时就发现代码中的错误,减少找BUG改bug的时间。
TypeScript相比JS的优势
- 更早(在写代码的同时)发现错误,减少找bug改bug的时间,提升开发效率
- 程序中任何位置的代码都有代码提示,随时随地的安全感,增强了开发体验
- 强大的类型系统提升了代码的可维护性,使得代码重构更加容易
- 支持最新的ES语法,优先体验最新的语法。
- TS类型推断机制,不需要在代码中的每一个地方都显示标注类型。
- 除此之外,Vue3源码使用TS重写,Angular默认支持TS,react与TS完美配合,TS已经成为大中型前端项目的首先编程语言