这是我参与 第五届青训营 伴学笔记创作活动的 第8天
1 TypeScript的发展历史
- 2012-10:微软发布了TypeScript第一个版本(0.8)
- 2014-10:Angular发布了基于TypeScript 的2.0版本
- 2015-04:微软发布了Visual Studio Code
- 2016-05:@types/react发布,TypeScript可开发React
- 2020-09:Vue发布了3.0版本,官方支持TypeScript
- 2021-11:v4.5版本发布
2 什么是TypeScript
TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。它起源于使用JavaScript开发的大型项目 。由于JavaScript语言本身的局限性,难以胜任大型项目的开发和维护。因此微软开发了TypeScript ,使得其能够胜任大型项目的开发。
2.1 动态类型VS静态类型
理解静态与动态之别,我们要从变量赋值这个操作为切入点。静态类型语言中,变量的类型必须先声明,即在创建的那一刻就已经确定好变量的类型,而后的使用中,你只能将这一指定类型的数据赋值给变量。如果强行将其他不相干类型的数据赋值给它,就会引发错误。
在静态语言中,一旦声明一个变量是int类型,之后就只能将int类型的数据赋值给它,否则就会引发错误,而动态类型则没有这样的限制,你将什么类型的数据赋值给变量,这个变量就是什么类型。
常见动态类型:JavaScript、PHP、Ruby、Python
常见静态类型:C、C++、JAVA、C#
2.2 强类型语言VS弱类型语言
强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。
强类型语言:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是;类型安全的语言;
弱类型语言:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原因。
var A=5;
var B="5"
sumA=A+B;
sumB=A-B;
2.3 TypeScript的特征
2.3.1 静态类型
-
可读性增强:基于语法解析TSDoc,ide增强
-
可维护性增强:在编译阶段暴露大部分错误(语法拼写,类型匹配等等)
因此,在多人合作的大型项目中,有更好的稳定性和开发效率。
2.3.2 JavaScript的超集
- 包含于兼容所有Js特性,支持共存
- 支持渐进式引入与升级
2.4 编辑器推荐
- Visual Studio Code
- TypeScript在线编辑器
2023/1/25 Day8