Typescript入门之基础类型

前言

在ts出现之前,我们一直都在使用js的弱类型书写代码,这就导致了我们在书写过程中需要频繁的人为注意数据类型,但有了ts之后我们在写代码时都会有严格的类型约束,很明显提高了我们的开发速度。

基本类型声明

// 布尔类型
let bool: boolean = false;
// 数字类型
let num: number = 1;
// 字符串类型
let str: string = "str";
复制代码

数组声明

//声明一个空数组
let arr1: number[];
arr1 = [5];
//限定数组内只能存放数字
let arr2: Array<number>;
//限定数组内只能存放数字和字符串
let arr3: (string | number)[];
arr3 = [1, 'a'];
复制代码

元组类型

//这个和数组差不多,但是长度固定且存值时固定位置和对应参数类型必须一致。
let tuple: [string, number, boolean];
tuple = ['a', 1, true];
复制代码

枚举类型

enum Roles {
    SUPER_ADMIN = 1,
    ADMIN,//2
    USER//3
}
console.log(Roles.SUPER_ADMIN);
复制代码

any类型

any允许任何类型的值进行覆盖

let value: any;
value = 'abc';
value = 123;
value = false;
const arr4: any[] = [1, 'a'];
复制代码

参数类型

const consoleText = (text: string): void => {
    console.log(text)
};
consoleText('abc');
//只能传入string类型
复制代码

never类型

一般抛错和死循环我们把函数返回值设置为never类型

const errorFunc = (message: string): never => {
    throw new Error(message)
};
const infiniteFunc = (): never => {
    while (true) {

    }
};
复制代码

object类型

函数没有返回值就设置为void类型

let obj = {
    name: 'lison'
};
let obj2 = obj;
obj2.name = 'L';
console.log(obj);

function getObj(obj: object): void {
    console.log(obj)
}

getObj(obj2);
复制代码

类型断言

可以使用参数 as 类型语法让ts推断出相应类型

//类型断言
const getLength = (target: string | number): number => {
    if ((<string>target).length || (target as string).length === 8) {
        return (target as string).length
    } else {
        return target.toString().length
    }
};
getLength(3);
复制代码

总结

到此我们就了解了typescript的基本类型的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值