TypeScript学习笔记一:数据类型

在TypeScript中所包含的数据类型有以下几种:

number,string,boolean,void,Null 和 Undefined,any,array数组,Tuple元组,never,enum,object,bight与symbol,变量声明与解构,类型断言,type别名

其中,常见的有:number,string,boolean,void,Null 和 Undefined,any,数组,元组,never,enum,

1、number数值类型

let peopleNum : number;//定义了一个number类型的peopleNum变量,给它赋值时只能赋给number类型的值;
peopleNum = 20;//不会报错
peopleNum = "lalal";//会报错
//注意:和javascript一样,typescript的数值类型都是浮点数,可支持二进制、八进制、十进制和十六进制

2、string字符串类型

let peopleName:String;
peopleName = "张三";
let log = "我就是法外狂徒${peopleName}";
console.log(log)

3、Boolean布尔类型

let isPeople:boolean;//定义一个布尔类型的isPeople,只能赋值为true和false。
isPeople = true;//不会报错
isPeople = "是";//会报错

4、void空

function one():void{
    return true//报错
    return  //不报错
    return 123//报错
}
//函数规定了void后,要求返回值为空,或者不返回,(但是,如果你只写一个return,或者return一个undefined或者null,也不会报错,因为理论上来说null和undefined是所有类型的子集)

5、Null和undefined

        所有类型都可以设置为null及undefined,因为理论上来说null和undefined是所有类型的子类型,never除外

6、any任意类型

let what:any = 4;//可以给what赋任意类型的值
waht = 111;
what = "hjsdfsdjkf";
what = true;
//都不会报错

        注意:虽然看上去使用any十分方便,但是当一个变量设置了any类型后就相当于关闭了TS的类型检测,就无法使用 TypeScript 提供的大量的保护机制。

所以,尽量不要使用any。

7、array数组类型

//方式1  let 变量名:数据类型[]=[值1,值2,值3]
let arr1:number[]=[1,2,3]
//方式2  let 变量名:Array<数据类型>=[值1,值2,值3]
let arr2:Array<number>=[1,2,3]
//定义数组后,数组内的内容也要根据定义的数据类型来

8、Tuple元组

//一种对数组的更严格一些的数据格式
let arr:[string,number,boolean] = ["ggfsdj",10,true]//按照定义的类型,不会报错
 
arr = [10,11,true]//arr[0],不符合,会报错

//元组类型在使用的时候,数据的类型的位置和数据的个数,应该和在定义元组的时候的数据类型及位置应该是一致的

9、never表示没有值

  never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。

  never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 null和undefined也不可以赋值给never

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
    return error("Something failed");
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
    while (true) {
    }
}

10、enum枚举

        适用于有限个数的属性值选择。

let people:{name:String,sex:'nan'|'nv'}
i={
   name:'lrc',
   sex:'nan'
} 
//把所有可能的情况列出来,上边的内容转为枚举

enum gender{
  man:1,
  women:0
}
let people:{name:String,sex:gender}
i={
   name:'lrc',
   sex:gender.man
} 

 基本类型就先整这些,后续再搞后边的,菜狗告辞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值