类型别名和字符串字面量类型(使用type)

类型别名

类型别名就是使用 type 来给一个类型起个新名字,类型别名常用于联合类型。

js 复制代码
type manyType = number | boolean | string;
let a: manyType
a = 0o700;
console.log(a);
a = true;
console.log(a);
a = 'Gloria';
console.log(a);
//以上编译都不会报错,指定自定义的manyType类型的变量可以是number类型也可以是string和boolean类型

字符串字面量类型

字符串字面量类型用来约束取值只能是某几个字符串中的一个。

js 复制代码
type EventNames = 'click' | 'scroll' | 'mousemove';
function handleEvent(ele: Element, event: EventNames) {
    // do something
}
handleEvent(<Element>document.getElementById('hello'), 'scroll');  // 编译没问题
handleEvent(<Element>document.getElementById('world'), 'dblclick'); // 编译报错,event 不能为 'dblclick'
即形参 event只能是click和scroll以及mousemove三个字符串之一。

类型别名与字符串字面量类型都是使用 type 进行定义

相关推荐
用户278860728567几秒前
别把 tool.completed 当成业务成功:AI 工具权限审计的四层事件链
前端
陆柒1455 分钟前
跟着 Webpack 配置学习前端工程化
前端
用户63533002547911 分钟前
Day 1|HTML5:一个商城首页的骨架,从 DOCTYPE 到语义化
前端
平凡的阿泽22 分钟前
我用 Trae 实现了AI辩论赛
前端
对空六课26 分钟前
指标口径生效时间的版本查询实现
大数据·服务器·前端·算法·数据分析
对空六课31 分钟前
RFM分层边界变化的回溯计算
大数据·服务器·前端·数据库·人工智能·算法·数据分析
IT_陈寒36 分钟前
Vite打包的诡异行为,让我差点提交了个错误版本
前端·人工智能·后端
鹏多多36 分钟前
前端是如何死去的?| 完整时间线
前端·javascript·程序员
coding漫漫长路43 分钟前
海报挪进Worker画,canvas字体又变回默认了
前端
看浪的路人1 小时前
第2讲:ReAct 模式从零实现——不用框架,手写一个 Agent 内核
前端·react.js·前端框架