关于typeof

来源:8-8 【redux重构】action 的拆分与统一

CaesarChen

2022-09-28

老师 这里定义接口为什么要这样写 type: typeof CHANGE_LANGUAGE,而不是直接 type: string

写回答

1回答

阿莱克斯刘

2022-10-01

请观察一下下面的代码,

//img.mukewang.com/szimg/63378195097f985207770148.jpg

请回答

  1.     第三行变量a是什么类型?

  2.     第四行变量b是什么类型?

答案如下:

  • b的类型为普通的字符串

  • 而变量a的类型为字符串“change_language”本身。

这样的类型声明所带来的好处如下:

//img.mukewang.com/szimg/6337827209c77d4e10340168.jpg

  • b 可以被赋值为任意字符串

  • 而a只能被赋值为“change_language”。

类似这样直接使用数值作为类型的类型声明方式,在typescript中被称作字面量类型(literal type),字面量类型 | 深入理解 TypeScript (jkchao.github.io)。想了解更多typescript相关知识,请查看课程的附加章节(最后一章,typescript基础入门),或者搜索我的免费课程《2小时极速入门 TypeScript-慕课网 (imooc.com)》。


0
1
qq_慕勒8029554
请问老师,那这里不能直接 type: CHANGE_LANGUAGE吗?在字面量类型中不是可以直接这样定义一个类型吗?为什么一定要加 typeof
2022-11-13
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程