初识TypeScript(day1)

112 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情

%9__XS([WZ4]A}9VFJ78~Q8.jpg

这几天准备系统地把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已经成为大中型前端项目的首先编程语言