typescript数据类型
在学习ts数据类型之前,大家先要知道一个概念,什么是强类型语言,什么是弱类型语言。
1.强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java、C# 和 Python,比如Java中“int i = 0.0;”是无法通过编译的;
2.弱类型语言:数据类型可以被忽略的语言。与强类型语言相反, 一个变量可以赋不同数据类型的值,允许将一块内存看做多种类型,比如直接将整型变量与字符变量相加。C/C++、PHP都是弱类型语言,比如C++中“int i = 0.0;”是可以编译运行的;
typescript(以下简称ts) ts作为js的超集,包含js的所有数据类型,在js的基础上又增加了 void any never 元祖 枚举 等,js属于弱类型语言,同为弱类型语言的还有大家熟悉的php python vb等。ts属于强类型语言,同为强类型语言的还有java c c++ ,把ts称为强类型语言这些值在定义阶段就要指定数据类型,这也是ts这门语言最大区别与js的地方。
下面是ts的数据类型的定义方法:
👉原始类型: let bool : boolean = true let num : number = 123 let str : string = “abc” 👉数组: let arr1 : number[] = [1,2,3] let arr2 : Array<number> = [1,2,3] let arr3 :Array<number | string> = [1,2,”3"] 👉元组:(特殊的数组,限定了数组的类型和个数) let tuple : [number,string] = [0,’1’] 👉函数: let add = (x:number , y:number) => x+y 👉对象: let obj : {x:number, y:number} = {x:1,y:2} 👉Symbol: let s1 : symbol = Symbol(); let s2 = Symbol(); s1===s2 =>false 👉undefined,null let un : undefined = undefined let nu : null = null 备注:默认其他类型不可以设置为undefined和null,若想设置可以改tsconfig.json中的strictNullChecks为false 定义的时候要加上 let num : number | undefined | null = 123 👉void: 没有返回值的类型 let noReturn = ()=>{} 👉any: 如果定义的时候没有限制类型就是any ,变为动态类型 也可以 let a :any = 1 👉never: 永远不会有返回值的类型 let error = ()=>{ //抛出错误 Throw new Error(“err") } Let endless = ()=>{ //死循环 While(true){} } 👉枚举:(一组有名字的常量集合) 数字枚举: enum Role{ Reporter , Developer , Owner } 字符串枚举 enum Message{ Success = “成功”, Fail = “失败" } 枚举成员 enum Char { //常量枚举 a, b=char.a, c=1+3, //计算枚举 d=Math.random(), e=“123”.length } 常量枚举 const enum Month { Jan, Feb, Mar }

浙公网安备 33010602011771号