TypeScript 基本类型

目录

TypeScript含义

基本类型的定义

基本类型

number 数字

string 字符串

boolean 布尔值

字面量 

any 任意类型

unknown (安全的any)

void  没有值(或者undefined)

never 不能是任何值

object 对象

function 函数

array 数组

tupe 元组

enum 枚举

其他


TypeScript含义

是以JavaScript为基础搭建的语言,可以支持任何支持JavaScript的平台上运行、是JavaScript的一个超集,但是不能被JavaScript解析器执行,需要将ts转为js在进行编译。相对于js它新增了类型、支持ES新特性并且添加ES不具备的特性,有丰富的配置选项。

基本类型的定义

定义变量时,可直接声明变量的类型。例如 let a:number = 1。如果变量声明好赋值同时进行时,ts可以自动对变量进行类型检测。可在函数上的参数和返回值进行声明类型。

基本类型

number 数字

任何数字

let a : number;
a = 1;

string 字符串

任何字符串

let a : string = 'hello xiaoxu'

boolean 布尔值

布尔值true或false

let a : boolean = true;

字面量 

就是其本身,限制变量的值就是该字面量的值。声明一次后不能再次声明,可以用“|”连接多个类型。

let a = 10;
let b = 'yes' | 'no';

any 任意类型

表示是任意类型,相当于对该变量关闭了TS类型检测。如果声明变量的时候,不指定类型,会自动判断变量的类型为any。并且能直接复制给其他变量。就像JS一样,很不安全。

unknown (安全的any)

let a : unknown;
a = 10;
a = true;

表示未知类型的值,不能直接赋值给其他变量。如果需要调用属性和方法,需要类型断言。

类型断言:可以用来告诉解析器变量的实际类型

let a : string;
b = 'hello xaioxu';
//类型断言的两种方式:
a = b as string; //变量 as 类型
a = <string>b; //<类型>变量

void  没有值(或者undefined)

表示空,以函数为例就表示没有返回值的函数。

function fn() : void {}//返回值为空值

never 不能是任何值

表示永远不会返回结果。

function fn() : never{
    throw new Error('报错')
}

object 对象

{} 指定对象中可以包含那些属性,语法:{属性:属性值,属性:属性值};

如果想要表示一个属性是可选的,可以在属性后面加一个问号;

let a :{age:number,name?:string};
a = {age:18,name:'小明'};
a = {age:20};

如果想要表示对象中有任意可选的任意类型,可以在{}中加上 [propName:string]:any;

let b : {name:string,[propName:string]:any};
b={name:'小红',gender:'女',age:'19'}

function 函数

设置函数结构的类型声明的语法:(形参:类型,形参:类型)=>返回值;

let a : (n1:number,n2:number)=>number;
a = function(n1:number,n2:number):number{
    return n1+n2;
}

array 数组

设置数组结构的类型声明:

//两种方式
//类型[]
let a : string[];
//Array<类型>
let b : Array<number>;

tupe 元组

就是固定长度的数组,并且存储效率比较好。

语法:[类型,类型,类型];

let h : [string,string];
h=['小明','小红'];

enum 枚举

枚举类型可以给数值(例如数字)定义一个名字,提高可读性,而不是使用无意义的数字。

Enum Gender{//定义了一个叫做Gender的枚举
    male = 0,
    female = 1
}
let a :{name:string,gender:Gender};
i:{
    name:'小明',
    gender:Gender.male //可读性更高
}

其他

符号用法
|  或let a : number | string ;(表示变量a可以是数字类型或者字符串类型)
& 且

let a : {name:string} & {age:number}; 

类型的别名:可以简化类型的是使用

例如:

type Mytype = 1|2|3|4|5;
let a : Mytype;
a = 1;
a = 2;
a = 6;//×

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值