01、TypeScript 数据类型

/*
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<number> = [11, 22, 3]// 泛型
let arr4: Array<string> = ['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 类型所赋值
原文地址:https://www.cnblogs.com/zhangning187/p/tszhangning210411.html