数据基础类型定义:
let username: string = '管理员';
username = '系统管理员';
-----模板字符串:使用反引号``
let describe: string = `今天天气${weather}`;
-----sencence方式
let info: string = student+"今天将来我班学习,"+student1+"要好好帮助他"
let flag: boolean = true;
let id: number = 1;
-----数组
let data: number[] = [1,2,3];
let list: Array<number> = [4,5,6];
-----元组Typle
let x:[string,number] = ['小明',2];
let y:[string,number] = [2,'小明']; //Error
console.log(x[1].toString()) // 根据索引获取元素值
-----枚举(元素默认编号0开始,可以手动对元素自定义编号)
enum Color{blue,black,red};
let color: Color = Color.blue;
let color1 = Color[1];
-----any类型(变量类型未知,object类型只允许赋值无法调用)
let name: any = 100;
let arr: any[] = [1,'大',true];
-----void(当函数无返回值时使用void,将返回void)
-----null类型、undefined类型
-----never类型(永不存在的值的类型:是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。)
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
throw new Error(message);
}
// 推断的返回值类型为never
function fail() {
return error("Something failed");
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}
-----类型断言:好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设你,程序员,已经进行了必须的检查。
1.<>尖括号语法
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
2.as语法
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;