typescript中的数据类型
代码规范,易于维护
声明变量建议使用let(不能声明同名变量)
布尔类型(Boolean)
布尔类型是最简单的数据类型,只有true和false两种值
布尔类型是不能赋予其他值的
let flag:boolean=true
flag=false
数字类型(number)
let a:number=123
a=13
console.log(a)
字符串类型(string)
let str:string="this is ts"
str:"nihao" //正确语法
str:true //错误语法
str:123 //错误语法
console.log(str)
数组类型(array)
// 1.第一种定义数组的方式
let arr: number[] = [1, 2, 3, 4, 45]
console.log(arr)
// 2.第二种定义数组方式(字符串的话最好使用双引号)
let arr1:Array<number>=[11,23,4454]
console.log(arr1)
let arr2: Array<string> = ["dasw", "dadf"]
console.log(arr2)
元祖类型(tuple)
有不同数据类型的数组:[number,string]
必须所定义类型的个数和顺序,少一个都不行,参数和类型一一对应
// 元祖(指定多种数据类型)
let arr3: [string, number, boolean] = ["ts", 12, true]
console.log(arr3)
枚举类型(enum)
枚举是一个可被命名的整型常数的集合,枚举类型为集合成员赋予有意义的名称增强可读性
enum Flag { success = 1, error = -1 }
let f: Flag = Flag.success
console.log(f)
// 或者可以直接Flag.error
console.log(Flag.error)
任意类型(any)
用到的场景:比如数字和字符串之间的相互转换,或者,不确定类型的情况下可以使用any
let num:any=123
num='str'
num=true
console.log(num)
null和Undefined类型
默认情况下null和undefined是所有类型的子类型。 就是说你可以把null和undefined赋值给number类型的变量。
var num: number | undefined
console.log(num) //输出undefined 不报错
var num1: number | undefined | null //一个元素可以设置多个类型
console.log(num1)
void类型
void表示没有返回任何类型,定义方法但方法没有返回值
function run(): void {
console.log('run')
}
run();
never类型
never是其他类型(包括null和undefined)的子类型,代表从不会出现的值,这意味着声明为never类型的变量只能被never类型所赋值,在函数中通常表示为抛出异常或无法执行到终止点
let x:never;
// x = 123//错误写法
x=(()=>{
throw new Error('错误');
})()