Typescript 中的数据类型

1. typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在定义变量的时候需要指定变量的类型,在typescript中主要提供了

  • 布尔类型 boolean
  • 数字类型 number
  • 字符串类型 string
  • 数组类型 array
  • 元组类型 tuple
  • 枚举类型 enum
  • 任意类型 any
  • null
  • undefined
  • void类型
  • never类型

1. 布尔类型

let flag:boolean = true;

只能为true 或者 false,否则编译出错

2. 数字类型

let a:number = 123;
a = 123.3;

3. 字符串类型

let name:string = "hello, world";

4. 数组类型

// 第一种定义方式
let arr1:number[] = [1, 2, 3, 4, 5];
let arr2:string[] = ['hello', 'world'];

// 第二种定义方式

let arr3:Array<number> = [1, 2, 3, 4, 5];
let arr3:Array<string> = ['hello', 'world'];

5. 元组类型

属于数组的一种,可以指定数组每个元素的类型,可以指定多种类型,每种元素和类型需要一一对应

let arr:[string, number, boolean] = ['hello', 1, true];

6. 枚举类型

事先考虑到某一变量可能的取值,尽量用自然语言中含义清楚的单词来标识他的每一个值,这种方法称为枚举方法,用这种方法定义的类型称为枚举类型,主要用于标示状态。

/**

enum 枚举名 {
    标识符[=整型常数],
    标识符[=整型常数],
    ...
    标识符[=整型常数]
};

**/

pay_status 0 未支付  1 支付  2 交易成功
sex 1 男  2 女  3保密
enum Flag {
    success = 1,
    error = -1
}

let f:Flag = Flag.success;

如果没有赋值,则默认输出索引值index,如果上一个索引赋值,则按照规律输出下一个值

7. 任意类型

let anyType:any = 123;
anyType = 'hello world';

用途:

操作dom的时候,会报一个warning

let boxDomArr = documnet.getElement.className("box");

8. unll 和 undefined

null 和 undefined 是其他(never类型)数据类型的子类型

let num:number;
console.log(num);     // 输出undefined   报错

let num:undefined;
console.log(num);     // 输出undefined   正确

// 也可以同时
let num:number | undefined;
let num:null;

// 一个元素可能是number类型,可能是null,可能是undefined
let num:number | null | undefined;

9. void类型

表示没有任何类型,一般用于定义方法的时候方法没有返回值

function run():void {
    console.log('run');
}

run();

10. never类型

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

let a:never;
a = 123; // 错误

a = (() => {
   throw new Error('错误');
})()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值