优点可以在写代码的时候提示错误
数据类型:number、string、boolean、字面量**(let a:10,不能修改值)** 、any、对象、数组、元组、枚举、void、never
let c = true,ts可以自动检测数据类型为boolean
函数可以提示函数的参数,不能超出或少
//未指定数据类型
function sum(a,b){
return a+b
}
console.log(sum(123,'456'))//123456
//指定数据类型
function sum(a:number,b:number):number{//返回的必须是数字
return a+b
}
console.log(sum(123,456))//123456
字面量的使用,限制字面量的使用类型或值,很少使用,了解即可
let b:"man" | "woman"
b="man"
b="woman"
对象[propName:number]:any,propName这个可以随便命名,对象属性是string
let b = {name:string,age?:number}//?代表该属性可有可无
let b = {name:string,[propName:number]:any}//[propName:number]:any后面可以添加任意个属性
数组
// 在元素类型后面加上[]
let arr: number[] = [1, 2];
// 或者使用数组泛型
let arr: Array<number> = [1, 2];
元组,固定长度的数组
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
x = [1, 'Runoob']; // 报错
console.log(x[0]); // 输出 Runoob
枚举enum
enum Color {Red, Green, Blue};
let c: Color = Color.Blue;
console.log(c); // 输出 2
void 用于标识方法返回值的类型,表示该方法没有返回值。
function hello(): void {
alert("Hello Runoob");
}
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。