TypeScript 介绍
知道:TS是带类型语法的JS
TypeScript 是一种由微软开发的开源编程语言,它是 JavaScript 的一个超集,它只存在于编译时态,并不参与运行。它扩展了 JavaScript,为其添加了静态类型检查、支持最新的 ECMAScript 特性、面向对象编程的功能,以及更强大的工具支持。TypeScript 的主要目标是使大型应用程序的开发更加容易,提高代码的可维护性和可读性。
TypeScript 的特点包括:
- 静态类型检查: TypeScript 引入了静态类型系统,使开发者可以在编码阶段就能够发现并修复潜在的类型错误,提高了代码的可靠性和稳定性。
- ECMAScript 支持: TypeScript 支持最新的 ECMAScript 标准,并且不断更新以跟进 JavaScript 的最新发展,包括 ES6、ES7 等新特性,让开发者能够更加方便地使用 JavaScript 最新的语言功能。
- 面向对象编程: TypeScript 支持面向对象编程的特性,包括类、接口、继承、多态等,使得代码结构更加清晰、模块化,便于团队协作和代码复用。
- 工具支持: TypeScript 提供了强大的工具支持,包括丰富的编辑器集成(如 Visual Studio Code)、自动代码补全、重构工具、代码格式化工具等,使开发者能够更高效地编写和维护代码。
- 增强的错误提示: TypeScript 提供了更加友好和详细的错误提示信息,帮助开发者快速定位和修复问题。
- 渐进式采用: TypeScript 是一种渐进式的语言,意味着可以在已有的 JavaScript 项目中逐步引入 TypeScript,而无需对整个项目进行重写。
JavaScript 代码
let age = 18
TypeScript 代码
let age: number = 18
注意:TS 需要编译才能在浏览器运行。
总的来说,TypeScript 是一种强大的编程语言,它融合了 JavaScript 的灵活性和动态特性,以及静态类型检查和面向对象编程的优点,为开发者提供了更好的开发体验和更高的代码质量。
TypeScript 作用
知道:TS作用是在编译时进行类型检查提示错误
发现:
- 在程序运行的时候
Uncaught TypeError这个错误挺常见的 - 这些错误导致在开发项目的时候,需要花挺多的时间去定位和处理 BUG
num.toLowerCase()
// Uncaught TypeError: num.toLowerCase is not a function
原因:
- JS 是动态类型的编程语言,动态类型最大的特点就是它只能在
代码执行期间做类型的相关检查,所以往往你发现问题的时候,已经晚了。
方案:
- TS 是静态类型的编程语言,代码会先进行编译然后去执行,在
代码编译期间做类型的相关检查,如果有问题编译是不通过的,也就暴露出了问题。 - 配合 VSCode 等开发工具,TS 可以提前到在
编写代码的时候就能发现问题,更准确更快的处理错误。
TS 优势:
- 更早发现错误,提高开发效率
- 随时随地提示,增强开发体验
- 强大类型系统,代码可维护性更好,重构代码更容易
- 类型推断机制,减少不必要类型注解,让编码更简单
- 最后:Vue3源码TS重写,React和TS完美配合,Angular默认支持TS,大中型前端项目首选。
Vue3 + TS 最新的开发技术栈,你还在等什么?
TypeScript 编译
知道:如何使用 tsc 编译 ts 代码
全局安装:
npm i -g typescript
# yarn 安装
yarn global add typescript
# 部分mac电脑安装需要sudo权限
# sudo npm i -g typescript
# sudo yarn global add typescript
查看版本:
tsc -v
编译 TS:
- 新建
hello.ts文件 - 当前目录打开命令行窗口,执行
tsc hello.ts命令,同级目录生成hello.js文件 - 执行
node hello.js验证一下
思考:
-
以后我们写 ts 都是手动的编译执行吗?
- 在开发中:一般使用
webpackvite等工具自动构建编译。
- 在开发中:一般使用