/*
typeScript 中的数据类型
boolean
number
string
array
tuple 元组类型
enum 枚举类型
any 任意类型
null 和 undefined
void 类型
never 类型
*/
let str: string = '你好'
// str = 1 //错误写法
// 数组类型 ts 中定义数组有两种方式
// 第一种
let arr: number[] = [1, 2, 3]// 这里只能放 number 类型
let arr1: string[] = ['2', '2', '3']
// 第二种
let arr3: Array = [11, 22, 3]// 泛型
let arr4: Array = ['ewqe', 'fdfd', 'fdfds']
// tuple 元组类型 属于数组的一种,可以指定数组中每个元素的类型
let arr5: [string, number, boolean] = ['sdfsd', 222, true]
// enum 枚举类型
// 默认从 0 开始
/*enum Status {
MASSAGE,
SPA,
DABAOJIAN,
}*/
// 修改从 1 开始
enum Status {
MASSAGE = 1,
SPA,
DABAOJIAN,
}
let valStatue: Status = Status.MASSAGE
console.log(valStatue);// 打印的结果是 1 ,即索引值
// any 任意类型
let strAny: any = 'sdfd'
strAny = 12;// 因为是任意类型,不会报错
// 任意类型的用处,
let divC: any = document.getElementById('aa');
divC.style.color = 'red';// 这里的 divC 是一个 Object 类型,不声明类型会报错
// null 和 undefined
// 定义一个 num 可能是空,可能是 null,可能是 undefined
let num: number | undefined | null;// 定义未赋值就是 undefined
console.log(num);// 如果声明不赋值 要使用 undefined ,否则报错
// void 类型,表示没有任何类型,一般用于定义方法的时候,方法没有返回值
// es5 定义方法
/*function fun() {
console.log(11);
}
fun();*/
// 表示方法没有任何类型
function fun(): void {
console.log(111);
}
fun();
// 表示方法返回 number 类型
function funnum(): number {
return 123;
}
// never 类型:是其他类型(包括 null 和 undefined)的子类型,代表从不会出现的值
// 这意味着声明 never 的变量只能被 never 类型所赋值