1. 安装
npm i -g typescript
2. 编译
编译一个ts文件,开发react后缀 .tsx
命令:tsc hello.ts
含义:将ts文件转成js文件,如果有ts语法错误,会报错,但是仍然会生成js文件,我们仍然可以使用这个js文件;
如果想要在报错的时候终止js的生成,可以在tsconfig.json
中配置onEmiOnError
即可
ts只会在编译时对类型进行检查,如果发现错误,编译时就会报错;(静态检查)
而js是再运行时,发现错误,会报错;(动态检查)
3. 数据类型
1. 原始数据类型
js类型分为两种:原始数据类型、对象类型
原始数据类型包括:boolean number string null undefined Symbol BigInt
boolean
let isDone: boolean;
boolean = false
//但是使用构造函数创造的对象不是布尔值
boolean = new Boolean(1)
// Type 'Boolean' is not assignable to type 'boolean'.
// Boolean不能分配给类型boolean
// 'boolean' is a primitive, but 'Boolean' is a wrapper object. boolean是原始数据,但是Boolean是一个包装对象
number
let num1: number = 6; //如果是二进制或者八进制 会编译成 十进制
string
let str1: string = 'hahah'
null undefined
let u1:undefined;
let n1:null;
//没啥意义,但是undefined和null是所有类型的字迹,就是,他们可以赋值给任意类型的变量
let num1: number;
num1 = undefined//这都是可以的
void空值
js没有空值的概念,但是在ts中可以void
表示没有任何返回值的函数
function a():void{
//表示函数a没有任何返回值
console.log(123)
}
any任意值
如果是普通类型,在第一次赋值的时候可以赋值为任意类型,后面如果再次赋值,只能和第一次复制时候的类型一样
let num1:any;
num1 =