类型别名和字符串字面量类型(使用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 进行定义

相关推荐
老前端的功夫1 分钟前
移动端兼容性深度解析:从像素到交互的全方位解决方案
前端·前端框架·node.js·交互·css3
代码与野兽2 分钟前
AI交易,怎么让LLM自己挑选数据源?
前端·javascript·后端
CC码码21 分钟前
前端文本分割工具,“他”来了
前端·javascript·程序员
linhuai22 分钟前
flutter实现Mock数据
前端
Keely4028528 分钟前
浏览器指纹识别:从原理到防护的完整指南
前端·浏览器
沐道PHP29 分钟前
nvm安装node低版本失败-解决方案
前端
韩曙亮36 分钟前
【Web APIs】JavaScript 执行机制 ( 单线程特点 | 同步任务与异步任务 | 同步先行、异步排队 | 事件循环机制 )
开发语言·前端·javascript·异步任务·同步任务·web apis·js 引擎
linhuai37 分钟前
Flutter如何实现头部固定
前端
单调77737 分钟前
npm你还了解多少
前端
码途进化论40 分钟前
基于 Vue 2 + VXE Table 的超大规模表格渲染架构设计与性能优化方案
前端