9字面量类型

文章介绍了字面量类型的概念,如在JavaScript和TypeScript中的使用,强调了它们在变量声明和类型安全方面的应用。通过示例展示了如何用字面量类型配合联合类型限制变量可能的值,提高代码的精确性和严谨性。
摘要由CSDN通过智能技术生成

字面量类型介绍

知道:什么是字面量类型

  • js 字面量如:18 'jack' ['a'] {age: 10} 等等。

  • 使用 js字面量 作为变量类型,这种类型就是字面量类型。

// : 'jack' 是字面量类型
let name: 'jack' = 'jack';
// : 18 是字面量类型
let age: 18 = 18;
​
// 报错:不能将类型“19”分配给类型“18”
age = 19;

思考:这两个变量的类型是什么?

let str1 = 'Hello TS';
const str2 = 'Hello TS';
  • 通过类型推断发现,str1 类型是 string , str2 类型是 Hello TS

  • 原因:str2const 声明的,值只能是 Hello TS,所以类型只能是 Hello TS

字面量类型应用

知道:字面量类型的应用场景

例如:性别只能是 男 和 女,不会出现其他值。

// let gender = '男'
// gender = '女'
// ------------------------
type Gender = '男' | '女'
let gender: Gender = '男'
gender = '女'

小结:

  • 字面量类型配合联合类型来使用,表示:一组明确的可选的值

例子:

// 使用自定义类型:
type Direction = 'up' | 'down' | 'left' | 'right'
​
function changeDirection(direction: Direction) {
  console.log(direction)
}
​
// 调用函数时,会有类型提示:
changeDirection('up')
  • 解释:参数 direction 的值只能是 up/down/left/right 中的任意一个

  • 优势:相比于 string 类型,使用字面量类型更加精确、严谨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值