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

相关推荐
蓝倾2 分钟前
淘宝批量获取商品SKU实战案例
前端·后端·api
comelong7 分钟前
Docker容器启动postgres端口映射失败问题
前端
花海如潮淹9 分钟前
硬件产品研发管理工具实战指南
前端·python
用户3802258598249 分钟前
vue3源码解析:依赖收集
前端·vue.js
WaiterL10 分钟前
一文读懂 MCP 与 Agent
前端·人工智能·cursor
gzzeason12 分钟前
使用Vite创建React初始化项目
前端·javascript·react.js
又双叒叕77813 分钟前
React19 新增Hooks:useOptimistic
前端·javascript·react.js
归于尽31 分钟前
V8 引擎是如何给 JS"打扫房间"的 ?
前端·javascript
小old弟32 分钟前
让对象保持定义的顺序来排列
前端
漫天星梦32 分钟前
前端列表页大数据内存优化的思考
前端·面试