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('错误')})()