1.数据类型
布尔型:boolean
数值型:number
字符型:string
数组:array
对象:object
元组(可以定义数组有几个成员):tuple
枚举:enum
任意型(少用,赋值的时候会影响被赋值的元素):any
未知型(比any优秀):unknown
空型:void
不存在的类型(常用来抛出错误):never
2.定义方式
//定义方式
let a: number;
a = 15
// a = 'hello' 报错 不能将类型“string”分配给类型“number”。
let a1 = 15;
a1 = 20
// a1 = 'hello' 报错 不能将类型“string”分配给类型“number”。
let b: string | number
b = 'hello'
b = 15
// b = true 报错不能将类型“boolean”分配给类型“string | number”。
// 数组定义方式
let arr1: number[] = [1, 2, 3]
let arr2: Array<number> = [1, 2, 3]
let info: (string | number)[] = ['asd', 121, 'sdfs']
console.log(info[0]); //不一定为字符或数值,因为这个数组成员的值接受字符,也接受数值
// 元组的定义方式
let tinfo: [number, boolean, string] = [15, true, 'acd']
console.log(tinfo[0]); //一定为数值,因为定义时,规定元组的第一个元素类型,必须为数值
// 对象定义方式,要求必须要有name属性,
let obj: { name: string, [propName: string]: unknown }
obj = { name: '孙悟空', age: 18, abc: 15 }
//函数定义方式
function sum(a: number, b: number): number {
return a + b
}
console.log(sum(1288, 456));
//枚举的定义 可以全部定义,也可以只定义第一个,只定义第一个,后面的值是自增的,
enum role {
student = 2,
teacher,
doctor,
worker
}
console.log(role.teacher); //3
//枚举的定义 如果定义的不是第一个,那么第一个从0开始后面自增,直到赋值的那个变量
enum role {
student,
teacher,
doctor = 1,
worker
}
console.log(role.student); // 0
console.log(role.teacher); // 1
console.log(role.doctor); // 1
console.log(role.worker); // 2
3.ts编译成js
在根目录下新建tsconfig.json,就不会报变量重复声明的错误
也可以在根目录下 输入 tsc --init,会自动完成tsconfig.json 的创建
4.在终端输入 tsc -w,监视ts文件的变化,从而实现自动编译