ES6新增的运算符,指数运算符(**)、链判断运算符(?.)、Null 判断运算符(??)

news/2024/7/10 23:58:42 标签: es6, javascript, 前端

文章目录

  • 一、指数运算符(**)
  • 二、链判断运算符(?.)
  • 三、Null 判断运算符(??)

一、指数运算符(**)

javascript">2 ** 2 // 4
2 ** 3 // 8

此运算符有个特点为右结合,于常见运算符左结合有所不同

javascript">// 相当于 2 ** (3 ** 2)
2 ** 3 ** 2   // 512

二、链判断运算符(?.)

在链式调用的时候判断,左侧的对象是否为null或undefined。如果是的,就不再往下运算,而是返回undefined

javascript">iterator.return?.()

上面代码中,iterator.return如果有定义,就会调用该方法,否则iterator.return直接返回undefined,不再执行?.后面的部分。

三、Null 判断运算符(??)

读取对象属性的时候,如果某个属性的值是null或undefined,为它们指定默认值。

javascript">const headerText = response.settings.headerText ?? true;

上面代码中,默认值只有在左侧属性值为nullundefined时,headerText等于true

这个运算符的一个目的,就是跟链判断运算符?.配合使用

javascript">const animationDuration = response.settings?.animationDuration ?? 300;

上面代码中,如果response.settingsnullundefined,或者response.settings.animationDurationnullundefined,就会返回默认值300。


http://www.niftyadmin.cn/n/451764.html

相关文章

循踪讲述:成都的夜,有一盏灯为你亮

成都的夜晚总是这样,热闹而梦幻。霓虹灯下的酒吧一条街,你看着手里冒着蒸汽的小龙虾,却心里想着那个人。那个曾经一起在脚手架上挥汗如雨,携手走过平淡岁月,然后在灯红酒绿的生活里逐渐远离的人。 他,一个手…

p7付费课程笔记:jvm基础知识、字节码、类加载器

编程语言 演化: 机器语言->编程语言->高级语言(java,c,Go,Rust等) 面向过程–面向对象-面向函数 java是一种面向对象、静态类型、编译执行,有VM(虚拟机)/GC和运行时、跨平台的高级语言…

还在为丢数据发愁吗?OM302完美解决问题

前一阵,东东和好友看到了一辆非常帅气的小车,两人就此是哪款车型展开了激烈的讨论,最后好友靠着某度的搜索结果给予东东一记强烈打击取得了胜利,但是为此,他也付出了惨烈的代价,那就是在那一段时间&#xf…

python selenium2/webdriver自动化测试系列教程!?

以下是 Python Selenium2/WebDriver 自动化测试系列教程,希望能对您有所帮助: 1、安装 Selenium WebDriver 在安装 Python 的基础上,请使用 pip 命令安装 Selenium WebDriver: pip install selenium 2、配置浏览器驱动程序 S…

Appian低代码平台

国外老牌低代码开发平台Appian Appian在国内用的比较少,资料也很匮乏。需要自己主动去官网寻找。 Appian 学习平台 进入Appian Community可以选择学习路径,可以选择适合自己的学习路径;我选择的是Builder路径, 看了足足80个小…

slam十四讲 03 Eigen实践之不同坐标系下的坐标转换

目录 1. 题目 2. 使用欧式变换 3. 使用四元素 1. 题目 已知 (1) 世界坐标系到相机1坐标系变换关系为,即相机1的位姿q1[0.35,0.2,0.3,0.1]^T, t1[0.3,0.1,0.1]^T. (2) 世界坐标系到相机2坐标系变换关系为,即相机2的位姿q1[-0.5,0.4,-0.1,0.2]^T, t2[…

leetcode77. 组合(回溯算法-java)

组合 leetcode77. 组合题目描述解题思路代码演示 递归专题 leetcode77. 组合 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/combinations 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个…

【Python 下载,Anaconda下载,环境变量配置,两个python不同版本使用环境变量配置切换】

我再下载Anaconda之前,自己安装了一个Python3.11.配置环境变量之后,查看python版本: 下载好Anaconda3之后,将环境变量提到之前的前面,再使用CMD,查看就是Anaconda自带的Python版本,该版本有就有很多的第三方…