typeScript定义类型

91 阅读1分钟

1、定义布尔值类型(boolean)

var flag:boolean = true
console.log(flag) //true

2、定义数字类型(number)

var num:number = 123
console.log(num) //123

3、定义字符串类型(string)

var str:string = '456'
console.log(str) //'456'

4、定义数组类型(array)
第一种定义数组类型

var arr:number[] = [1,23,45,67]
console.log(arr)

5、定义数组类型
第二种定义数组类型

var arr:Array<string> = ["html","css","js","ts"]
console.log(arr)

6、定义元组类型(tuple)

var arr:[number,string] = [1,'php']
console.log(arr)

7、定义枚举类型(enum)

// enum Flag {success=1,error=-1}
// console.log(Flag.success) 1

// enum Color {red,blue,orange}
// console.log(Color.red) 1(如果没有赋值,则返回相应的索引值)

// enum Color {red,blue=4,orange}
// console.log(Color.red) 0
// console.log(Color.orange) 5(如果赋值了,没赋值的根据前一个加1)

8、任意类型(any)

var num:any=123
num='str'
num=true
console.log(num)

任意类型的用处

var oBox:any = document.getElementById('box')
oBox.style.color = 'red'

9、null和undefined 其他数据类型的子类型

//var num:number;
//console.log(num)输出undefined,但是会报错
var num:undefined;
console.log(num)输出undefined,正确
//定义没有赋值就是undefined
var num:number | undefined
console.log(num)
//一个元素可能是number类型,可能是null,可能是undefined
var num:number | null |undefined
num=1234
console.log(num)

10、void类型 typescript中的void标识没有任何类型,一般用于定义方法的时候没有返回值

//es5的定义方法
//function run(){
//  console.log('run')
//}
//run();
//表示方法没有返回任何类型 正确写法
function run():void{
  console.log('run')
}
run();
//返回number类型 正确写法
function run():number{
  return 123
}
run();

11、never类型:是其他类型(包括null和undefined)的子类型,代表从不会出现的值 这意味着声明never的变量只能被never类型所赋值

var a:undefined;
a=undefined;
var b:null;
b=null;

var a:never
a=123 // 报错
a=(()=>{throw new Error('错误')})()