为了使编写的代码更规范,更有利于维护,增加了类型校验,写 ts 代码必须指定类型。typescript中除了es5中的常见数据类型之外还多了元组类型tuple、枚举类型enum、任意类型any、void类型、never类型等。

TypeScript学习手册:
https://www.tslang.cn/docs/handbook/basic-types.html

 
TypeScript入门笔记(二):数据类型_TypeScript
图片来源于网络,侵删

先记录一下TypeScript的集中数据类型

1:布尔类型

let  flag:boolean=true;
flag=false;
console.log(flag)

 

 

打印:
 
TypeScript入门笔记(二):数据类型_TypeScript_02
 

2:number数字类型

let  num:number=123;
num=456;
console.log(num);
 
TypeScript入门笔记(二):数据类型_TypeScript_03
 

3:字符串类型(string)

let str:string='this  is  ts';
str='wangxiaoting';
console.log(str);
 
TypeScript入门笔记(二):数据类型_TypeScript_04
 

4:数组类型(arr)

//ts定义数组有两种方法
//1:第一种定义数组的方法
let  arr:number[]=[11,22,33];
console.log(arr);
 
TypeScript入门笔记(二):数据类型_TypeScript_05
 
//2第一种定义数组的方法
let  arr:Array<number>=[11,22,33];
console.log(arr);
 
TypeScript入门笔记(二):数据类型_TypeScript_06
 

5:元组类型(tuple) 属于数组的一种

//可以给每一个位置指定一个类型
let  arr:[number,string]=[123,'1233'];
console.log(arr);
 
TypeScript入门笔记(二):数据类型_TypeScript_07
 

6:枚举类型

enum  Flag{success=1,error=2};
let s=Flag.success;
console.log(s);
 
TypeScript入门笔记(二):数据类型_TypeScript_08
 

打印下标 如果标识符没有赋值,它的值就是下标

//官方例子
enum  Color{bule,red,'green'};
let c=Color.red;
//打印下标  如果标识符没有赋值,它的值就是下标
console.log(c);
 
TypeScript入门笔记(二):数据类型_TypeScript_09
 

打印下标 如果标识符赋值,它的值就是赋的值4

//打印下标  如果标识符赋值,它的值就是赋的值4
enum  Color{bule,red=4,'green'};
let c=Color.red;
console.log(c);
 
TypeScript入门笔记(二):数据类型_TypeScript_10
 
//下标为5
enum  Color{bule,red=4,'green'};
let c=Color.green;
console.log(c);
 
TypeScript入门笔记(二):数据类型_TypeScript_11
 

状态码例子

//状态码
enum  Err{'unidefined'=-1,'null'=-2,'success'=1};
let c=Err.null;
console.log(c);
 
TypeScript入门笔记(二):数据类型_TypeScript_12
 

7:any任意类型

//可以指定任何类型的值
let num : any=123456;
num='str';
num=true;
console.log(num)

打印结果


 
TypeScript入门笔记(二):数据类型_TypeScript_13
 

8:undefined和空类型null

//定义赋值123
let  num :number|undefined;
num=123;
console.log(num)
 
TypeScript入门笔记(二):数据类型_TypeScript_14
 
//定义未赋值就是undefined
let  num :number|undefined;
console.log(num)
 
TypeScript入门笔记(二):数据类型_TypeScript_15
 
//空类型null
let  num :null;
num=null;
console.log(num)
 
TypeScript入门笔记(二):数据类型_TypeScript_16
 

9:void无类型

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

//表示方法没有任何返回类型
function  run():void{
     console.log('wangxiaoting')
 }
 run();

对比:

//表示方法有返回类型,返回number类型
function  run():number{
// return的必须是number类型
    return   89;
}
run();

10:never类型:其他类型

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

一般指定类的写法:

let a:undefined;
a=undefined;
console.log(a)
//a只能是数字类型,若是写成了其他类型就会报错
let  a:number;
a=234567;
console.log(a)

never类型的写法

let  a:never;
//a=123; //错误写法
a = (() => { // 正确的写法
    throw new Error('错误');
  })()