携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情
上一篇文章中,我们介绍了TS常用类型中的类型断言,并且介绍了一种常规方式来实现类型断言和一种<>不常用的方式来实现类型断言,接下来将会介绍TS常用类型中的字面量类型
TS常用类型之字面量类型
- 下面代码中的两个变量的类型分别是什么?
let str1 = 'Hello TS'
const str2 = 'Hello TS'
通过TS类型推论的机制可以找到答案:
- 变量str1的类型为:string
- 变量str2的类型为:'Hello TS'
代码解释:
- str1是一个变量(let),它的值可以是任意字符串,所以它的类型就为:string
- str2是一个常量(const),它的值不能变化,所以只能是'Hello TS',所以,它的类型就为‘Hello TS’
- 注意:此处的‘Hello TS’,就是一个字面量类型,也就是说某个特定的字符串也可以作为TS中的类型,除字符串之外,任意的JS字面量,比如:对象,数字等等,都可以作为类型来使用。
- 字面量类型的使用模式: 字面量类型配合联合类型一起使用,是它的最常见的使用形式
- 字面量类型的使用场景:用来表示一组明确的可选值列表
比如,在贪吃蛇游戏中,游戏的方向的可选值只能是上下左右中的任意一个,示例代码如下:
function changeDirection(direction: 'up' | 'down' | 'left' | 'right' ){
console.log(direction)
}
代码解释:参数direction的值只能是up/down/left/right这四个值中的任意一个 代码优势:通过联合类型以及字面量类型的配合,相比于string类型,使用这两个类型的配合使得代码表达更加的精确,严谨。
以上就是字面量类型的内容了,接下来将会介绍TS常用类型之枚举