TS-字面量类型

字面量在代码中表示固定值。在TypeScript中,字面量包括字符串、数值、布尔值、长整型值、对象、数组、函数、正则表达式、null等,例如,以下都是字面量。

99.9        //数值字面量
true        //布尔值字面量
"message"   //字符串字面量
[3]         //数组字面量,数组会在后面详细介绍
{a:"hello"} //对象字面量,对象会在后面详细介绍

基于字面量,创建字面量类型,字面量类型可以理解为仅表示固定值的类型,其定义方式如下。

let 变量名称:字面量;
//变量number1为字面量99.9类型
let number1: 99.9 = 99.9; 
//变量boolean1为字面量true类型
let boolean1: true = true; 
//变量bigint1为字面量111n类型
let bigint1: 111n = 111n; 
//变量string1为字面量"hello"类型
let string1: "hello" = "hello"; 

字面量类型的变量只能被赋予字面量值,如果尝试给以上变量赋其他值,就会引起编译错误,示例代码如下。

//编译错误:不能将类型"false"分配给类型"true"。ts(2322)
number1 = 1; 
//编译错误:不能将类型"false"分配给类型"true"。ts(2322)
boolean1 = false; 
//编译错误:不能将类型"222n"分配给类型"111n"。ts(2322)
bigint1 = 222n; 
//编译错误:不能将类型""world""分配给类型""hello""。ts(2322)
string1 = "world"; 

除此之外,我们还可以使用联合字面量类型,使字面量类型支持多个值,各个值用竖线“|”分隔。例如,以下代码将变量number1声明为1、2、3字面量类型,因此取值只能为1、2、3中的一个,如果赋其他值,会引起编译错误。

let number1: 1 | 2 | 3;
number1 = 1;
number1 = 2;
number1 = 3;
//编译错误:不能将类型"4"分配给类型"1 | 2 | 3"。ts(2322)
number1 = 4; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/759199.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端学习 Vue 插槽如何实现组件内容分发?

目录 一、Vue.js框架介绍二、什么是Vue 插槽三、Vue 插槽的应用场景四、Vue 插槽如何实现组件内容分发 一、Vue.js框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活,可以轻松地被集成到现有的项目中,也可以作为一个完整…

Redis-实战篇-缓存击穿问题及解决方案

文章目录 1、缓存击穿2、常见的解决方案有两种:2.1、互斥锁2.2、逻辑过期2.3、两种方案对比 3、利用互斥锁解决缓存击穿问题3.1、ShopServiceImpl.java3.2、使用 jmeter.bat 测试高并发 4、利用逻辑过期解决缓存击穿问题 1、缓存击穿 缓存击穿问题 也叫 热点key问题…

半个月从几十升粉到500(发红包喽)

目录 1. 背景2. 涨粉秘籍2.1 持续创作高质量内容2.1.1 保持频率2.1.2 技术文章为主2.1.3 图文并茂 2.2 积极参与社区活动2.2.1 社区分享2.2.2 发文活动 2.3 互动与建立信任2.3.1 与读者互动2.3.2 红包互动2.3.3 动态分享 2.4 标题与内容的优化2.4.1 标题吸引2.4.2 内容实用 2.5…

【C++】C++ 超市会员卡管理系统(面向对象)(源码+数据)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

【从零开始学架构 架构基础】五 架构设计的复杂度来源:低成本、安全、规模

架构设计的复杂度来源其实就是架构设计要解决的问题,主要有如下几个:高性能、高可用、可扩展、低成本、安全、规模。复杂度的关键,就是新旧技术之间不是完全的替代关系,有交叉,有各自的特点,所以才需要具体…

解决idea中git无法管理项目中所有需要管理的文件

点击文件->设置 选择版本控制—>目录映射 点击加号 设置整个项目被Git管理

springboot助农电商系统-计算机毕业设计源码08655

摘要 近年来,电子商务的快速发展引起了行业和学术界的高度关注。基于移动端的助农电商系统旨在为用户提供一个简单、高效、便捷的农产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融…

【GPU虚拟化到池化技术深度分析 2024】

文末有福利! 随着大模型的兴起,对GPU算力的需求越来越多,而当前现实情况使企业往往受限于有限的GPU卡资源,即便进行了虚拟化,往往也难以充分使用GPU卡资源或持续使用资源。为解决GPU算力资源不均衡等问题,…

国标GB/T 28181详解:国标GBT28181-2022第三方呼叫控制的视音频文件下载流程

目录 一、定义 1、国标GB/T 28181 2、第三方呼叫控制的视音频文件下载流程 二、作用 1、提供有效的数据回顾机制 2、增强监控系统的功能性 3、保障数据传输与存储的可靠性 4、实现精细化的操作与控制 5、促进监控系统的集成与发展 6、提供清晰的信令流程和操作规范 三…

驱动开发:配置Visual Studio驱动开发环境

100编程书屋_孔夫子旧书网 配置驱动开发环境配置驱动开发模板配置驱动双机调试 在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的…

基于web的产品管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于web的产品管理系统,java项目。 ecli…

5G RAN

两个entity:NodeB、UE entity之间传输数据的东东 entity内部的流水线岗位:L3/L2/L1 岗位之间是消息交互/信令交互

阿里云centos7.9 挂载数据盘到 www目录

一、让系统显示中文 参考:centos7 怎么让命令行显示中文(英文->中文)_如何在命令行中显示中文-CSDN博客 1、输入命令:locale -a |grep "zh_CN" 可以看到已经存在了中文包 2、输入命令:sudo vi…

在Clion使用CubeMX Stm32的步骤

Step1 准备软件,安装环境: 1. cubemx v6.5.0(可以兼容以前版本的project) https://www.st.com.cn/zh/development-tools/stm32cubemx.html STM32CubeMX 默认安装目录, 6.5版本可以兼容老版本 C:\Program Files\STMicroelectroni…

Golang | Leetcode Golang题解之第199题二叉树的右视图

题目: 题解: /** 102. 二叉树的递归遍历*/ func levelOrder(root *TreeNode) [][]int {arr : [][]int{}depth : 0var order func(root *TreeNode, depth int)order func(root *TreeNode, depth int) {if root nil {return}if len(arr) depth {arr a…

3D Web轻量引擎HOOPS Web Platform赋能AEC行业数字化,高效渲染与多格式支持!

在建筑、工程和施工(AEC)行业,数字化转型和高效协作正变得越来越重要。为应对日益复杂的项目需求和不断提升的质量标准,AEC企业需要一种强大的工具来实现高效的3D可视化和数据管理。HOOPS Web Platform作为一款综合性3D开发平台&a…

金融科技如何多角度助力小微企业融资

一、引言 在全球化与数字化交织的时代背景下,金融科技(FinTech)作为新兴力量,正逐步改变传统的金融业态,尤其在助力小微企业融资方面,金融科技展现出了多元化的价值和优势。本文将从不同角度探讨金融科技如…

python操作elasticsearch

1、安装 首先,确保你已经安装了elasticsearch库。如果没有安装,可以使用pip进行安装: pip install elasticsearch 如下: 2、测试是否联通 输入 python 进入交互模式。然后依次输入一下命令。 from elasticsearch import Elas…

uniapp启动页面鉴权页面闪烁问题

在使用uni-app开发app 打包完成后如果没有token,那么就在onLaunch生命周期里面判断用户是否登录并跳转至登录页。 但是在app中页面会先进入首页然后再跳转至登录页,十分影响体验。 处理方法: 使用plus.navigator.closeSplashscreen() 官网…

Nginx网站服务详解(设置并发数、实现不同虚拟主机等)

一、nginx的最大并发数设置已经状态收集模块 [root192 nginx]# cat nginx.conf # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/user ngin…