TypeScript快速上手
什么是TypeScript
TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C#的首席架构师,已工作于TypeScript的开发。2012年十月份,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScript 0.9,向未来的TypeScript 1.0版迈进了很大一步。
摘自百度百科
怎么使用TypeScript
1 | npm i -g typescript |
tsconfig.json
1 | "compilerOptions": { |
编写一个以ts为后缀的文件
hello.ts
1 | console.log('hello ts'); |
从目前来看与js并没有什么不同,通过接下来的学习来对typescript深入的学习吧!
如何将ts文件自动编译成js文件
在vscode中保存好编写的ts文件,终端 > 运行任务,选择ts监视,正常情况下vscode会自动打开终端面板输出一些信息,这样就成功了。
当然也可能会像我一样出现异常,具体什么原因还不得而知,解决办法很简单,在终端中按回车键,
手动输入tsc -w也可以成功
基本数据类型
1 | let num1: number = 123 |
与js相比ts对变量名加上了类型的约束,number类型的约束值只是number类型,其它基本类型也是一样的
any:类型的变量可以是任意类型的值
1 | let atr: any = true |
不指定类型的变量相当于any类型
联合类型
1 | let tr: number | string = 123 |
类型断言
1 | function getLength(arg: number | string) { |
显然这段程序是不能通过运行的,使用联合类型所约束的值,其方法只能是所共有的方法,比如toString
在number并没有length方法,所以这里报错了
使用类型断言来解决这样的问题
1 | function getLength(arg: number | string) { |
注意在tsx中使用 值 as 类型 这种方法
复杂数据类型
接口
1 | // 定义了一个接口类型 |
数组
1 | // 定义数组的第一种方式 |
元组:特别的数组类型
1 | // 元组的值须与约束类型一一对应 |
函数
1 | // 函数的声明 |