运算符(?? || &&)

  • && 与运算符

    &&左边表达式为真时执行右边表达式
let a = true
let b = 0
a && b = 1 //b变为1
  • || 或运算符 运算符左边表达式为假时执行右边表达式(可用于赋默认值值)
false || 1; //输出1

let d = { age: 20 };
let cc = d?.name || "小明"; // 个人信息中没有名字的话就默认叫小明
  • ?? 空值合并运算符

运算符左边表达式为假时执行右边表达式。与||基本一样。只有左边表达式为 0,''时不一样。

??空值合并 可取 0 和''

0 || 1; //1
0 ?? 1; //0
"" || 1; //1
"" ?? 1; //''
undefined || 1; //1
undefined ?? 1; //1
null || 1; //1
null ?? 1; //1

ES6新增运算符 ?? || &&的更多相关文章

  1. 浅谈ES6新增数据类型:Symbol

    面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...

  2. es6新增功能

    声明命令 1. let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.下面代码在代码块之中,分别用let和var声明了两个变量.然 ...

  3. ES6新增特性

    ES6:  ECMA 第六次改版   块级作用域:   凡是被{ }包裹住的代码都是块级作用域,除了对象       特点:会造成一个暂时性死区    新增声明变量的两种方式: let:     a. ...

  4. ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))

    1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...

  5. 面向对象编程-终结篇 es6新增语法

    各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪 ...

  6. es6新增

    首先要说let,他是只在代码块中执行的变量,例如: {    let a = 10;    var b = 1;}console.log(a);//definedconsole.log(b);//1 ...

  7. ECMAScript简介以及es6新增语法

    ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...

  8. ES6新增的常用数组方法(forEach,map,filter,every,some)

    ES6新增的常用数组方法 let arr = [1, 2, 3, 2, 1]; 一 forEach => 遍历数组 arr.forEach((v, i) => { console.log( ...

  9. ES6新增对象方法的访问描述符:get(只读)、set(只写)

    Es6新增对象方法的访问描述符:get(只读).set(只写),可以直接使用,一般用于数据监听,用途类似于vue.$watch. var obj = { a:1, get bar() { return ...

  10. ES6新增的数据类型Map和Set。

    Javascript的默认对象表示方式 {} ,即一组键值对. 但是Javascript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问 ...

随机推荐

  1. 【面试题】 webpack面试篇

    1.与webpack类似的工具还有哪些?谈谈你为什么选择webpack? grunt 优点:出现的比较早,第一代打包工具 缺点:配置项太多,只有一个配置文件,而且不同的插件可能有自己的配置字段,学习成 ...

  2. function的length,就是第一个具有默认值之前的参数个数。

    一个拥有 length 属性和若干索引属性的对象就可以被称为类数组对象,类数组对象和数组类似,但是不能调用数组的方法.常见的类数组对象有 arguments 和 DOM 方法的返回结果,还有一个函数也 ...

  3. 安卓调试打包错误Error executing aapt: Return code -1073741819 Error while running zipalign

    之前开发完的安卓app项目,再次打开,突然抽风报错. 1.调试运行报错:Error executing aapt: Return code -1073741819 2.打包失败报错: Error wh ...

  4. el-table 处理表格数据中存在属性值为数组的情况

    当返回的数据类型如下: tableData: [ { name: '张三', occupation: '经理', experiences: [ { id: '123456', project: '香蕉 ...

  5. MC 末影人

    #include <iostream> #include "minecraft.h" using namespace std; int x=225,y=115,z=23 ...

  6. beego框架中的注解路由不生效的问题

    在测试中发现 使用注解路由的话 项目需要在gopath路径下的src下才可以 并且配置文件的 runmode = dev 然后执行bee run 在路由文件夹里才会生成commentRouter文件 ...

  7. ts-基础

    1. 定义变量// 将b赋值为 hello,只能是 hello或者 wowrldlet b : "hello" | "world" // 设置变量c只能为num ...

  8. lowcodeEngine 组件面板的拖拽功能

    设计器和渲染器处在不同的 Frame 渲染器以单独的 iframe 嵌入,xxx-simulator-renderer 通过和 host进行通信来和设计器打交道,比如点击渲染画布任意一个位置,需要能计 ...

  9. HANDLE和HMOUDLE、HWND讲解

    HWND是线程相关的,通常指明窗口句柄,通过句柄找到窗口所属进程和线程 Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄.系统对内核对象以链表的形式进行管理,载入到内存中的每一个内核 ...

  10. [267] High Five

    [267] High Five Client 00 SendLogOut 01 RequestAttack 03 RequestStartPledgeWar 04 RequestReplyStartP ...