空值合并操作符 ??

??是只要前面是null underfined 就取后面的值 不然取前面的

逻辑或操作符 ||

|| 是前面是true(非 underfined,null,false,"",0) 就取前面的,不然取后面的

可选链操作符 ?.

可选链操作符?.允许读取位于连接对象链深处的属性的值
而不必明确验证链中每个引用是否有效。?.操作符的功能类似于
.链式操作符。不同之处在于 在引用为空(null 或者underfined)的情况下不会引起错误,该表达式短路返回值
语法:obj?.prop obj?.[expr] arr?.[index] func?.(args)


函数调用:
let result = someInterface.customMethod?.();
如果希望允许 someInterface 也为 null 或者 undefined ,那么你需要像这样写 someInterface?.customMethod?.()
可选链与表达式:
let nestedProp = obj?.['prop' + 'Name'];
可选链访问数组:
let arrayItem = arr?.[42];
例子:let myMap = new Map();myMap.set("foo", {name: "baz", desc: "inga"});let nameBar = myMap.get("bar")?.name;在一个不含 bar 成员的 Map 中查找 bar 成员的 name 属性,因此结果是 undefined。
短路计算:
let potentiallyNullObj = null;
let x = 0;
let prop = potentiallyNullObj?.[x++];console.log(x); // x 将不会被递增,依旧输出 0当在表达式中使用可选链时,如果左操作数是 null 或 undefined,表达式将不会被计算
连用可选链操作:
let customer = {name: "Carl",details: {age: 82,location: "Paradise Falls" // details 的 address 属性未有定义}
};
let customerCity = customer.details?.address?.city;// … 可选链也可以和函数调用一起使用
let duration = vacations.trip?.getTime?.();
空值合并操作符可以在使用可选链时设置一个默认值:let customer = {name: "Carl",details: { age: 82 }
};let customerCity = customer?.city ?? "暗之城";
console.log(customerCity);  // “暗之城”

最新文章

  1. 下列关于python字典变量的定义中错误的是_python练习题-day14
  2. beanUtils操作bean的属性
  3. 关于WM_NCHITTEST消息(移动无标题对话框多个)
  4. Oracle在线重定义
  5. 强碱性食品 高嘌呤食物
  6. linux——DHCP的配置问题
  7. Java Socket重要参数讲解
  8. 6大设计原则之接口隔离原则
  9. 怎么在ASP.NET 2.0中使用Membership
  10. [前缀和][dp] Jzoj P5873 小p的属性
  11. php为什么发送不到sql,PHP-为什么我的Ajax无法执行我的SQL查询?
  12. 《PIC微控制器项目设计:C语言》一导读
  13. Visio画图删去四周白边
  14. 零基础SSM入门教程(50)–Spring总结与展望SpringBoot、SpringCloud
  15. 【Java】:基础入门知识
  16. 前沿综述:细数2018年最好的词嵌入和句嵌入技术
  17. scau 10306 Prison break
  18. 手把手教你TSYS建站
  19. r软件中合并列_将摘要合并到软件中
  20. 禅卡塔罗;追随它的指引,你会得到更多

热门文章

  1. 扫描版PDF自动添加书签 | 电子书目录自动获取
  2. 木马程序,原来还有发展,现在居然还有好多代?
  3. 怎么更改计算机开机声音,电脑开机声音,详细教您电脑开机声音怎么更改
  4. SKY65162-70LF射频功率放大器
  5. R语言实战应用精讲50篇(三十五)-R语言实现xgboost回归(附R语言代码)
  6. Android JNI开发
  7. 2150: 部落战争
  8. linux目录对应windows,linux目录和Windows目录对比
  9. EXCEL去重统计(条件去重复计数)
  10. 南开大学计算机学院宿舍,数说CS | 南开大学计算机学院推免生源大起底!