继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第16天 Typescript 联合类型和字面量类型

stb烙饼
关注TA
已关注
手记 84
粉丝 2
获赞 4

课程章节: 第3章 TypeScript 基础 3-5 联合(Union)与字面量(Literal)类型

主讲老师阿莱克斯刘

课程内容:

今天学习的内容是 Typescript 的数组和联合类型和字面量类型。

联合(Union) 类型

联合类型就是一个变量的值可以是多个类型。比如:

let union: number|string;
union = 10;
union = 'hello';

变量 union 是一个联合类型,多个类型之间使用竖线 | 分割,变量既可以是 number 类型,也可以是 string 类型。

再看一个例子,定义一个函数可以求两个数字的和,也可以做两个字符串的拼接:

function merge(a: number|string, b: number|string) {
  // 需要对参数类型做一个判断
  if(typeof a === 'string' || typeof b === 'string') {
    return a.toString() + b.toString();
  } else {
    return a + b;
  } 
}

merge(10, 20);
merge('hello', 'world');

不仅类型,确定的值也可以联合使用:

let union: 0|1|2;

此时变量 union 不仅确定了属于 number 类型,值的取值范围也确定了。

字面量(Literal)类型

字面量类型,就是直接写出一个值,来赋值给变量。具体来讲,主要分为数字字面量类型,字符串字面量类型,真值字面量类型,枚举字面量类型等。比如:

const num = 3;
const str = "kw";
const flag = true;

这三个变量的类型分别为 2kwtrue ,类型等于值,就是字面量类型。

上面联合类型中,将值作为联合类型使用,其实就是字面量类型的联合类型。

字面量类型非常像是枚举类型,等学到的时候可以做一个比较。

课程收获

这节课学习了 Typescript 的联合类型和字面量类型,在平时开发中用的都比较多,联合类型让变量拥有更灵活强大的用法,字面量类型简化了类型系统的使用。
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP