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

相关推荐
凤凰战士芭比Q13 小时前
web中间件——Nginx
前端·nginx·中间件
一 乐13 小时前
点餐|智能点餐系统|基于java+ Springboot的动端的点餐系统小程序(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·小程序·论文
bitbitDown14 小时前
从零打造一个 Vite 脚手架工具:比你想象的简单多了
前端·javascript·面试
liangshanbo121514 小时前
CSS 数学函数完全指南:从基础计算到高级动画
前端·css
码上成长15 小时前
GraphQL:让前端自己决定要什么数据
前端·后端·graphql
冴羽15 小时前
为什么在 JavaScript 中 NaN !== NaN?背后藏着 40 年的技术故事
前端·javascript·node.js
久爱@勿忘16 小时前
vue下载项目内静态文件
前端·javascript·vue.js
前端炒粉16 小时前
21.搜索二维矩阵 II
前端·javascript·算法·矩阵
合作小小程序员小小店16 小时前
web网页开发,在线%台球俱乐部管理%系统,基于Idea,html,css,jQuery,jsp,java,ssm,mysql。
java·前端·jdk·intellij-idea·jquery·web
不爱吃糖的程序媛16 小时前
Electron 应用中的系统检测方案对比
前端·javascript·electron