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

相关推荐
前端老宋Running14 分钟前
React 的“时光胶囊”:useRef 才是那个打破“闭包陷阱”的救世主
前端·react.js·设计模式
yinuo17 分钟前
前端跨页面通讯终极指南③:LocalStorage 用法全解析
前端
隔壁的大叔25 分钟前
正则解决Markdown流式输出不完整图片、表格、数学公式
前端·javascript
胡楚昊28 分钟前
CTF SHOW逆向
java·服务器·前端
拉不动的猪43 分钟前
前端JS脚本放在head与body是如何影响加载的以及优化策略
前端·javascript·面试
shykevin1 小时前
Actix-Web完整项目实战:博客 API
前端·数据库·oracle
lichong9511 小时前
RelativeLayout 根布局里有一个子布局预期一直展示,但子布局RelativeLayout被 覆盖了
android·java·前端
LengineerC1 小时前
我写了一个VSCode的仿Neovide光标动画
前端·visual studio code
WangHappy1 小时前
Mongoose操作MongoDB数据库(1):项目创建与连接配置
前端·mongodb
OpenTiny社区1 小时前
低代码运行时渲染搞不懂?TinyEngine 从理论到实践全攻略,看完直接上手!
前端·vue.js·低代码