布尔类型
let flag:boolean = true;
数值类型
let num:number = 123;
字符串类型
let str:string = 'str';
数组类型
ts定义数组有两种数组类型
// 1. 第一种定义数组的方式
let arr:number[] = [1, 2, 3];
console.log(arr);
// 2. 第二种定义数组的方式
let arr1:Array<number> = [4, 5, 6];
console.log(arr1)
元组类型
属于数组的一种: 可以给数组中的每一项元素指定类型
let arr2:[number, string] = [1, 'str'];
console.log(arr2)
枚举类型
随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据,例如性别 月份 职业等,都不是数值类型
如果能在程序中用自然语言(某个单词)来代表某一种状态,程序就很容易阅读和理解
枚举类型的定义: 事先考虑某一个变量可能取的值,尽量用某个语义化的单词来表示它的每一个值,使用这种方法定义的类型称为枚举类型
// enum 枚举名 {
// 标识符[=整型常数],
// 标识符[=整型常数],
// 标识符[=整型常数]
// ...
// }
enum Flag {
success = 1,
error = 0,
wait
}
let e:Flag = Flag.error;
let w:Flag = Flag.wait;
let s:Flag = Flag.success;
console.log(e);
console.log(w);
console.log(s)
// 如果标识符没有赋值则默认为下标(并且取决于上一个标识符)
enum Color {blue, red, 'orange'}
任意类型
用处: 在不确定的返回什么类型的结果,比如你获取元素 可能为元素对象,可能是null
let an:any = 1;
an = 'str';
an = true;
console.log(an);
null 和 undefined (其他类型的子类型)
let un:number; // 当定义未赋值的情况下
// console.log(un); // 报错,打印为undefined
let un1:undefined; // 定义为undefined类型不赋值是不会报错的
console.log(un1); // undefined;
// 如果你想两个都要
let un2:undefined | number;
console.log(un2);
let nu:null;
// 报错 必须赋值为null
// console.log(nu);
nu = null; // 正确
console.log(nu);
// 如果可能是null undefined 或者number
let nun: null | number | undefined;
console.log(nun);
void类型
typescript中的void表示没有任何类型, 一般用于定义方法的时候没有返回值
// 没有返回值 使用void
function run():void {
console.log('run')
}
// 必须返回指定的类型
// function add():number {
// console.log('add');
// // 报错 // 没有返回值
// }
function returnUn():undefined {
// 报错 ES5中默认返回undefined,但这不行
return undefined; // 正确
}
never类型
是其他类型的子类型,代表从不会出现的值 (很少使用)
let ne:never;
// ne = 1; // 报错
ne = (function () {throw new Error('错误')})();
网友评论