TypeScript及React学习系列二:typescript中的数据类型

typescript中的数据类型

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

基本数据定义语句:var 或 let都可,推荐使用let
var 变量名 :变量类型 = 初始值;

var a:string = "你好";
let a:string = "你好";

注意:string类型变量赋值时用 ‘ ’ 或者 " " 都可以,推荐统一使用 “ ”
注意:不可以一种类型的变量赋另一种类型的值,比如

let a:string = 10; //错误,不能给string类型赋munber类型的值

定义数组的三种方式及元组类型

  1. 第一种
let arr:number[] = [1,2,3,4,5];
let arr1:string[] = ["hello","world","ts"];

注意:数组一旦定义了类型,要求其成员类型都相同,比如:

let arr:number[] = [1,2,3,"tom"]; //错误
let arr:number[] = [1,2,3,4]; //正确
  1. 第二种
let arr:Array<number> = [1,2,3,4,5];
let arr1:Array<string> = ["java","js","ts"];
  1. 第三种,定义为any类型
let arr:any[] = [12,"李明","三年一班"];
  1. 元组类型(tuple),属于数组的一种
let arr:[number,string,string] = [12,"李明","三年一班"];

枚举类型

可以将中文或者字符串与基本数据类型绑定,相当于加了个注释,使用起来较为方便,格式如下:

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

例如:

enum Color{//赋值
	red = 0,
	blue = 1,
	yellow = 2
};
enum Color{red,blue,yellow}; //不赋值,默认采用其索引值,与上述结果相同

任意类型(any)

let a:any = 12; //此时a的值为12
a = "Tom"; //此时a为Tom
a = true; //此时a为true

any的用处:

let oBox = document.getElementById('box');
oBox.style.color = 'red'; //警报:oBox是Object

let oBox:Object = document.getElementById('box');
oBox.style.color = 'red';  //报错,Object不是基本类型

let oBox:any = document.getElementById('box');
oBox.style.color = 'red'; //正确

null 和 undefined

变量定义后,未赋值,为undefined

let a:num | undefined;
consolo.log(a);//正确,打印undefined

变量定义为null,则只能赋值null

let a:null;
a = null;//编译通过

若一个元素可能是多种类型中的一个,除了用any,还可用以下操作:

let a : num | null | undefined; //a可能是null或者num或者undefined

void类型

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

//ES5中的写法
function run(){
	consolo.log('run');
}
run();//编译通过
//ES6写法,更规范了
function run() : void{//表示方法没有返回任何类型
	consolo.log('run');
}
run();//编译通过

never类型

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

var a:undefined;
a = undefined;//编译通过
var a:null;
a = null;//编译通过
var a:never;
a = 10; //错误
a = (() => {
	throw new Error("错误");
	})() //编译通过
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值