一、什么是Typescript?
TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。
二、TypeScript与JavaScript的区别
具体区别如下:
1、类型
typescript:Typescript 是一种强类型化面向对象的编译语言。它是由微软开发的。
javascript:JavaScript是一种轻量级的解释型语言。它是由Netscape推出的。
2、实施端
typescript:Typescript的内部实现不允许在服务器端使用它。它只能在客户端使用。
javascript:JavaScript 可以在客户端和服务器端使用。
3、数据绑定
typescript:为了在代码级别绑定数据,Typescript 使用类型和接口等概念来描述正在使用的数据。
javascript:在JavaScript中没有引入这样的概念。
4、汇编
typescript:用TypeScript编写的代码首先需要编译,然后转换为JavaScript。此转换过程称为转译。
javascript:在JavaScript的情况下不需要编译。
5、模块化编程
typescript:TypeScript支持模块,因此它允许模块化编程。
javascript:JavaScript不支持模块,因此它不允许模块化编程。
6、函数中的可选参数
typescript:在用 Typescript 编写的函数代码中允许任意数量的可选参数。
javascript:JavaScript 不支持可选参数函数。
7、应用方向
typescript:JavaScript 的超集用于解决大型项目的代码复杂性。
javascript:一种脚本语言,用于创建动态网页。
8、发现错误时间
typescript:可以在编译期间发现并纠正错误。
javascript:作为一种解释型语言,只能在运行时发现错误
可以看到typescript在大项目上会有更好的优点,跟JavaScript相比较。
三、TypeScript基础
- 任意类型 any :声明为 any 的变量可以赋予任意类型的值。
let a:any=1
let b:any=[2,3,4]
let c:any={name:'Job'}
- 数字类型 number:双精度 64 位浮点值。它可以用来表示整数和分数
- 字符串类型 string:一个字符系列,使用单引号(’)或双引号(")来表示字符串类型。
- 布尔类型 boolean:表示逻辑值:true 和 false
- 数组类型 :声明变量为数组
//两种数组声明方式
let arr:number[]=[1,2]
let brr:Array<number>=[1,2]
- 元组类型:用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。
let x:[string,number]=['a',1]
let y:[string,number]=['typescript',2]
- 枚举类型 enum:枚举类型用于定义数值集合
enum color{yellow,green,blue}
let c1:color =color.green
-
void void:用于标识方法返回值的类型,表示该方法没有返回值
-
null 表示对象缺失
-
undefined 初始化变量为一个未定义的值
-
never never 其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值
-
函数类型
add为函数名,x为传入参数,一个数组,number为函数返回类型,any为传入任意类型都可以。
- interface接口
定义了一个person接口,定义一个变量p1来使用person接口
- 基础类
学过java应该对基础类会形式会好理解一点。
四、TypeScript进阶
- 高级类型
- 泛型
指在类定义时不会设置类中的属性或方法参数的具体类型,而是在类使用时(创建对象)再进行类型的定义。会在编译期检查类型是否错误。
具体使用场景
五、学习总结
- 学习了一下TypeScript和JavaScript的基本区别以及不同场景的使用方法。
- 了解了TypeScript的基本语法,学了JavaScript感觉对TypeScripty的代码理解起来会好一点。
- TypeScript的语法跟Java也比较像,比如那个类等等,泛型也是,但是TypeScript要合理的来使用。