typescript基础知识(一)基本类型

相对于JavaScript,typescript的类型使用较为严格,主要的类型有以下几种:布尔型(Boolean),数字类型(number),字符串类型(string),数组类型(array),元组类型(tuple),枚举类型(enum),任意类型(any),null和undefined,void类型,never类型

类型的严格性


在typescript中,仍然可以使用var,let,const来声明变量,但一旦确定了类型,就不能使用非该类型的值为该变量赋值。

let num:number=1;

number='2'; // 报错

即使我们不显式地标明变量的类型,typescript也会自动为该变量声明类型(自动声明的类型不会是any这种随机的类型),而后给该变量赋不同类型的值会报错。

let num=2;

num='2'; // 报错

布尔型(Boolean),数字类型(number),字符串类型(string)


布尔型,数字类型,字符串类型,除了确定类型声明后不能改为其他类型的值外,与JavaScript中的使用没有差别。

var b:boolean=true;

b=false;

var num:number=1;

num=2;

var str:string='111';

str='222';

数组类型(array)


typescript中有多种数组的声明使用,正如我们所知道的,JavaScript中同个数组下的数据类型可以不同,但typescript中的数组不允许这种情况

var arr1:number[]=[11,22,33];

var arr2:Array<number>=[11,22,33];

上面两种数组的声明方式只允许数组成员为number类型的值,如果数组成员为其他值的话会报错。

元组类型(tuple)


如果要创建一个数组,该数组里的成员的类型不一定相同,那么在typescript中可以使用元组类型,与数组类型不同的是,元组类

型要求长度必须固定

var arr:[number,string]=[11,'22'];

枚举类型(enum)


枚举类型简单来说就是一个可以通过枚举属性来获取值的类型,通过枚举类型,可以为某些值提供更具其特征的属性名,以此来提高代码可读性,枚举类型的属性名可加引号表示字符串也可以不加

enum Flag { success = 1, error = 2 };
let f: Flag = Flag.error;
console.log(f);

//如果标识符没有赋值,其值就为它的下标
enum Color{blue,red,'orange'};
let c:Color=Color.blue;
console.log(c);

要注意的是,枚举类型的属性名对应的值是只读的,如果更改会报错。

enum Flag { success = 1, error = 2 };
let f: Flag = Flag.error;
Flag.error=3;

// Cannot assign to 'error' because it is a read-only property.

任意类型(any)


任意类型顾名思义就是可以被赋以任何值的类型

var num:any=123;
num=true;
num='123123';

任意类型可应用在获取dom节点的对象上

//假设当前有id位div的元素
var objDiv:any=document.getElementById('div');
objDiv.style.color='red';

我没也可以通过“|”来同时声明几个类型以实现任意类型的功能

var any:number|boolean|string;
any=1;
any=true;
any='1';

undefined和null


undefined和null用在变量取这两个值的时候,或者变量没有赋值的时候

但如果要使一个变量在未赋值时作为undefined类型,在赋值后变为另一个类型,就得使用“|”了

var num:number|undefined|null;
console.log(num); // undefined
num=2;
console.log(num); // 2

void类型


void类型用在函数中,表示没有返回值,和Java一样

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

never类型


never类型表示不存在值得的类型,可看作一个永远不会执行结束的函数的返回值

var a:never;
a=(()=>{
    throw new Error('error');
})()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值