为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Typescript

课程章节: 第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 的联合类型和字面量类型,在平时开发中用的都比较多,联合类型让变量拥有更灵活强大的用法,字面量类型简化了类型系统的使用。
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消