当前位置: 首页 > news >正文

TypeScript 中的字面量类型和联合类型特性

字面量类型和联合类型是 TypeScript 中常用的类型特性。

1. 字面量类型: 字面量类型是指具体的值作为类型。例如,字符串字面量类型可以通过给定的字符串字面量来限制变量的取值范围。

let status: "success" | "error"; // status 只能是 "success" 或 "error"
status = "success"; // 正确
status = "error"; // 正确
status = "pending"; // 错误,只能是 "success" 或 "error"

2. 联合类型: 联合类型可以用来表示一个变量可以是多个类型中的任意一个。使用 | 符号来连接多个类型。

let result: string | number; // result 可以是字符串类型或数字类型
result = "hello"; // 正确
result = 42; // 正确
result = true; // 错误,只能是字符串类型或数字类型

联合类型的优点之一是它可以满足不同情况下的灵活性要求。例如,当处理多种类型的输入时,可以使用联合类型。

function printId(id: number | string) {console.log(id);
}printId(123); // 输出: 123
printId("abc"); // 输出: "abc"
printId(true); // 错误,只能是数字或字符串类型

在使用联合类型时,需要注意的是联合类型的变量只能调用共有的成员。如果一个变量是联合类型的,那么只能使用该联合类型中共有的属性和方法。

let value: string | number;
value = "hello";
console.log(value.length); // 正确,字符串有 length 属性
value = 42;
console.log(value.length); // 错误,数字类型没有 length 属性

通过使用字面量类型和联合类型,我们可以更精确地定义变量的取值范围,增加代码的可读性和可维护性。它们是 TypeScript 中非常有用的类型特性。

http://www.lryc.cn/news/94740.html

相关文章:

  • react+jest+enzyme配置及编写前端单元测试UT
  • 自学网络安全(黑客)
  • 【unity小技巧】委托(Delegate)的基础使用和介绍
  • 【MySQL必知必会】第24章 使用游标(学习笔记)
  • rosbag回放指定话题外的其他话题的方法
  • 6.2.1 网络基本服务---域名解析系统DNS
  • 通用文字识别OCR 之实现自动化办公
  • Spring Boot 有哪些特点?
  • 10个图像处理的Python库
  • 项目里不引入外网链接的解决方法
  • Java的jdk配置成功,但是输入java -version等,命令行没有任何反应
  • MySQL select查询练习
  • Github 标星 60K,不愧是阿里巴巴内部出厂的“Java 核心面试神技”
  • git 使用教程
  • 【Vue2.0源码学习】模板编译篇-模板解析阶段(HTML解析器)
  • ARM裸机开发-串口通信
  • Dubbo分布式服务框架,springboot+dubbo+zookeeper
  • 网络:UDP out of order;SIP;CPU out-of-order 执行
  • 我心中的TOP1编程语言—JavaScript
  • CentOS环境下的Maven安装
  • 表的增删改查
  • Tauri 应用中发送 http 请求
  • 基于霍夫变换的航迹起始算法研究(Matlab代码实现)
  • 如何使用Excel公式将(d:1,a:4,c:2,b:3)快速分割成8列并按顺序排列
  • 遥控泊车系统技术规范
  • qt 线程状态机实现并发自动任务
  • 社交机器人培育
  • CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)
  • 整数序列(山东大学考研机试题)
  • k8s集群安装