js,ts中简写符号大全

falsy 值(虚值):是在布尔值Boolean上下文中认定为 false 的值。在 JavaScript 中只有 8 个 falsy 值,包括undefined、null、false、空字符串 (双引号 ""、单引号’’、反引号 ``)、NaN、0。

nullish 值:要么是 null 要么是 undefined 。nullish 值总是 falsy 。

一. js中符号 
1.   || 

        如果||前面的值是0 '' false null undefined NaN其中的任意一种,则直接返回||后面的值 

function(obj){var a = obj || {}}// 等价于 =>>function(obj){var a;if( obj === 0 || obj === "" || obj === false || obj === null || obj === undefined || isNaN(obj)){a = {}} else {a = obj;}}
 2.   ??

        如果||前面的值是null undefined 其中的任意一种,则直接返回??后面的值 

function(obj){var a = obj ?? {}}// 等价于 =>>function(obj){var a;if( obj === null || obj === undefined){a = {}} else {a = obj;}}
 3.  ?. 可选链

在未定义属性时使用可选链运算符,undefined将返回而不是错误。这可以防止你的代码崩溃 

const personal = {name: "lwl",address: {state: "New York"},}// 使用可选链操作符console.log(personal?.address?.ZIPCode) // 输出:undefinedpersonal.array?.map()// 返回undefined,不会崩溃
 4.  !!

 将表达式强制转化为boolean值运算,运算结果为true或者false
 falsy值 返回 false,空数组返回true

5.  ??=

逻辑空赋值运算符(x ??= y)仅在 x 是 nullish(null 或 undefined) 时对其赋值

 const a = { duration: 50 };a.duration ??= 10;console.log(a.duration);// expected output: 50

6. !!=    &&=
逻辑或赋值运算符(x !!= y)仅在 x 是 假值(Boolean值) 时对其赋值
逻辑或赋值运算符(x &&= y)仅在 x 是 真值 时对其赋值

 var a = 0;a ||= 10;console.log(a); //输出10var a = 1;a &&= 10;console.log(a); //输出10
 二.ts 中 ? !

 ts比js多了2个符号 即?  !

1.? 

  表示该属性或参数为可选项

  interface IDemo {x?: number   // 参数为可选项}
2. !

 表示类型推断排除null、undefined,用于属性后面

// 由于x是可选的,因此parma.x的类型为number | undefined,无法传递给number类型的y,因此需要用x!interface IDemo {x?: number   // 参数为可选项}let y:number  // 参数为number类型const demo = (parma: IDemo) => {y = parma.x!  // 变量值可空return y}const personal = {name: "lwl",address: {state: "New York"},    }personal.array!.map()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交换基础配置--单臂路由

1、创建vlan 创建vlan10 创建vlan10和vlan20 创建vlan1到vlan9 vlan1可以不用创建,因为交换机的所有接口默认为vlan1 本实验只需要vlan10和vlan20,以上只是介绍创建vlan的方法。 查看创建的vlan: sw2同理。接着将需要划分vlan的接口划入…

通过PyCharm平台开发Django应用程序

学会使用命令行工具开发Django应用程序是基础,不过更多的时候还是要借助平台开发工具。目前,最好的Django应用程序开发工具就是jetBrains公司推出的PyCharm平台了。 借助PyCharm开发平台,可以极大提高开发Django应用程序的效率,同…

电脑工作者缓解眼部疲劳问题的工具分享

背景 作为以电脑为主要工作工具的人群,特别是开发人员,我们每天都需要长时间紧盯着屏幕,进行代码编写、程序调试、资料查询等工作。这种持续的工作模式无疑给我们的眼睛带来了不小的负担。一天下来,我们常常会感到眼睛干涩、疲劳…

OpenHarmony 视图加载——ImageViewZoom

简介 ImageViewZoom 支持加载 Resource 或 PixelMap 图片,支持设置图像显示类型功能,支持缩放功能,支持平移功能,双击放大功能,可以监听图片大小,资源变化事件,支持清除显示图片功能。 效果展示…

2024年想要开视频号小店,需要准备什么东西?

大家好,我是电商糖果 视频号小店做为今年最火电商项目,吸引不少朋友想要入驻开店。 开店都是有门槛的,并不是谁想开就可以的。 糖果已经开了多家小店了,对开店需要准备的东西,那可真是太清楚。 近期有计划开店的朋…

Docker(七):容器监控工具(Portainer、CAdvisor)

一:轻量级可视化监控工具Portainer 可视化监控工具, 可以通过docker安装,用于管理和监控docker,基本上的docker命令都有对应的按钮来操作。 # always 表示docker重启了该容器也跟着重启 docker run -d --name portainer -p 8000:8000 -p 90…

uniapp小程序——长按识别二维码

说明 写法一&#xff1a; 小程序版本&#xff1a; <image class"pic" show-menu-by-longpress"{{true}}" :src"src" mode"widthFix" />uniapp版本&#xff1a; <image :src"src" mode"widthFix" :sh…

USART(串口通信协议)

USART&#xff08;串口通信协议&#xff09; 【通信的目的】将一个设备的数据传输到另外一个设备&#xff0c;拓展硬件系统 【 通信协议】制定通信的规则&#xff0c;通信双方按照协议进行数据的收发 串口通信中各个参数的含义 【TX】 数据接收脚【RX】 数据发送脚【SCL】 …

Visual Components软件为您带来的价值 衡祖仿真

Visual Components具备丰富的3D仿真功能、快速建模能力、定制化应用程序逻辑和大量预定义组件库等多种特点&#xff0c;为自动化设备制造商、整合商、制造型公司提供简单、 快速和的设计方式&#xff0c;可以有效提高生产效率&#xff0c;并优化资源分配&#xff0c;避免制造过…

用户行为分析模型实践(四)—— 留存分析模型

作者&#xff1a;vivo 互联网大数据团队- Wu Yonggang、Li Xiong 本文是vivo互联网大数据团队《用户行为分析模型实践》系列文章第4篇 -留存分析模型。 本文详细介绍了留存分析模型的概念及基本原理&#xff0c;并阐述了其在产品中具体实现。针对在实际使用过程问题&#xff0…

揭秘消费增值:如何让每次购物都变得更有价值

亲爱的消费者朋友们&#xff0c;大家好&#xff01;我是微三云周丽&#xff0c;今天我将和你分享一种全新的消费理念——消费增值&#xff0c;让你的每一次消费都变得更有价值&#xff01; 在传统的消费观念中&#xff0c;我们通常只是单纯地用钱购买物品或享受服务&#xff0…

WideDeep

这里写目录标题 1. 背景2. 贡献3 模型结构&#xff08;1&#xff09;任务定义&#xff08;2&#xff09;The Wide Component&#xff08;3&#xff09;The Deep Component&#xff08;4&#xff09;联合训练Wide和Deep Model 4. 参考 1. 背景 (1) 广义线性回归通常被用于推荐模…

Java数组和字符串,随机生成数组,以及英文字母,检查子串

编写一个程序&#xff0c;随机产生一个数组&#xff0c;包含100个整数元素&#xff0c;并进行查找。 然后对数组进行排序&#xff0c;估算调用课本p270页Listing 7.7所示的binarySearch代码&#xff08;二分查找&#xff09;所消耗的时间。 package 数组和字符串; import java…

Scanpy(2)多种可视化

本篇内容为scanpy的可视化方法&#xff0c;可以分为三部分&#xff1a; embedding的散点图&#xff1b;用已知marker genes的聚类识别&#xff08;Identification of clusters&#xff09;&#xff1b;可视化基因的差异表达&#xff1b; 我们使用10x的PBMC数据集&#xff08;…

基于SSM的平面设计课程在线学习平台系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的平面设计课程在线学习平台系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;…

51单片机学习笔记——LED点亮

一、独立按键控制LED元器件和原理图 根据厂家给的原理图找到独立按键模块&#xff0c;观察下图我们知道按钮的一个头接GND&#xff0c;一头接IO口。由此可知我们如果需要使用第一个按钮则需要用p31。 二、独立按键控制LED程序 程序编写需要使用到IF else语句 当如果P310时P20…

协方差和协相关(Covariance and Correlation)

本文主要是记录与这两个概念相关的概念。看中文或者英文时&#xff0c;尝尝容易弄混。 内容 1 covariance和correleation2 covariance matrix和correlation matrix3 cross-covariance和cross-correlation4 autocovariance和autocorrelation 对于两个随机信号X, Y 1 covarianc…

盒子模型之弹性盒模型

弹性盒模型 经常适用于手机端图标布局 display: flex;让这个盒子显示成弹性盒&#xff08;很适合移动端布局&#xff09; 影响&#xff1a;1.让里面的子元素默认横向排列 2.如果子元素是行内元素&#xff0c;则直接变成块元素 3.只有一个元素&#xff0c;margin: auto;自动居中…

uni.uploadFile上传图片后台接收不到数据

今天遇到一个很奇怪的问题&#xff0c;通过使用uni.uploadFile上传文件时后端接收不到文件&#xff0c;查过很多资料&#xff0c;原来是自定义了header的Content-Type问题。取消即可&#xff0c;另把自定义文件上传的代码贴出来。 分析&#xff1a;当我们加上请求头的时候 不…

一步一步写线程之九线程池任务的窃取

一、介绍 在实际的工作安排中&#xff0c;如果有一个比较大的工作&#xff0c;又可以细分的&#xff0c;诸如有一天一万个萝卜要洗这样的工作。假如做为一个工作的分配者&#xff0c;怎么处理这种需求&#xff1f;可能每个人都会想&#xff0c;先看看一个人一天洗多少萝卜&…