:=: any
## 一般在获取 dom 时使用,在获取不确定的类型值时 也可以使用let txtName: any = document.getElementById('txtN')## 变量可以赋予任何类型的值,赋值完成之后是可以改变的var s:any = 10;s ="hello world";
:=: string
var s:string = "hello";
:=: number
var n:number = 10;
:=: boolean
var b:boolean = true;
:=: Array
var arr:string[] = ["hello","world"];var arr:Array<number> = [1,2,3]; //推荐使用第二种
:=: object
var obj:object = {name:"cheng",age:185}
:=: array-object
var list:Array<object> = [{name:"cheng"}]
:=: function
## 1.没有返回值的函数function show():void{console.log("hello");}
## 2.有返回值的函数function go():string{return "hello world";}
:=: 元组(规定了元素数量和每个元素类型的“数组”)
## 给数组每一个元素指定一种类型var s:[string,number] = ["hello",1];console.log(s);
:=: 枚举类型 enum
定义一个特定类型的集合 枚举成员是只读的,不能给其赋值
## 数字枚举:枚举成员的值为数字,默认情况是数字枚举## 特点:成员的值是从0开始自增的数值enum Status {success=200,error=404,serverError=500}var success:Status = Status.success;console.log(success)
## 字符串枚举:枚举成员的值为字符串## 特点:没有自增行为,需要为每一个成员赋值!enum Gender { Female = '女', Male = '男'}
:=: null-undefined
var num = null;num =10 //报错
:=: 联合类型
# 概念:表示取值可以为多种类型中的一种let 变量名: 变量类型1 | 变量类型2 = 值let dName: string | null = prompt('please input name:');
:=: void 类型
# 概念:void 代表没有类型,一般用在无返回值的函数# 语法:e&1:function sayHi1(): string {return 'hi,hello';}let re1 = sayHi1();e&2:function sayHi2(): void {console.log('hi,hello');}sayHi2();
:=: never 类型
# 概念:never 代表不存在的值的类型,常用作为抛出异常或无限循环的 函数返回类型# 语法:E&1:function test(): never {while(true){}}E&2:function test2(): never {throw new Error('异常');}# 补充:never 类型是ts中的底部类型,所有类型都是never类型的父类,所以never类型值# 可以赋给 任意类型的 变量let x: never = test();let y: string = test();
