&&运算符  如果操作有false  则返回false  例如

0&&1  // 返回0

true&&false  //返回false

0&&null //返回0

如果所有操作数的值都是 true,将返回最后一个表达式的值。例如

let one = 1, two = 2, three = 3;

console.log(one && two && three); // Result: 3

| | 运算符 操作有true 就返回true  例如

true | | false  //返回true

false | | true  //返回true  证明不是返回第一个表达式的值哦

如果所有操作数的值都是 false,将返回最后一个表达式的值。例如

0||false   //返回 false

false||0  //返回  0

看到这里  可能觉得太简单了吧 谁不会。。。 不过可能工作中确实不知道怎么用吧  下面说几个示例

1.假设我们想要返回一个变量的 length,但又不知道变量的类型 应该怎么搞呢?

我们可以使用 if/else 来检查 foo 是否是一个可接受的类型,但这样会让代码变得很长。这个时候可以使用短路求值:

return (foo | | [ ] ).length

上述代码  如果有length  就返回长度  否则  就返回0

let arr;

(arr | | [ ]).length

//返回 0
arr = [1,2,3,4]

(4) [1, 2, 3, 4]

( arr | | [ ] ).length

//返回4

2.你是否曾经在访问嵌套对象属性时遇到过问题?你可能不知道对象或某个子属性是否存在,所以经常会碰到让你头疼的错误。

假设我们想要访问 this.state 中的一个叫作 data 的属性,但 data 却是 undefined 的。在某些情况下调用 this.state.data 会导致 App 无法运行。为了解决这个问题,我们可以使用条件语句:

if (this.state.data){

  return this.state.data;

}else {

  return 'Fetching Data';

}

如果使用短路求值  是不是更加简洁一点呢

return ( this.state.data | |  'Fetching Data' )

最新文章

  1. Daily Scrum Meeting ——EighthDay
  2. Fzu2124 - 吃豆人 BFS
  3. nginx 使用
  4. DataSet 关系
  5. DTcms 扩展字段标签调用
  6. HUD 2444 The Accomodation of Students (二分图染色+最大匹配)
  7. Linux filesystem structures.
  8. Facebook和Google如何激发工程师的创造力
  9. HTML与CSS入门——第一章 理解Web的工作方式
  10. Apache Kafka开发入门指南(2)
  11. Linux 配置tomcat遇见的若干问题
  12. 【原创】sqlite ef6 踩坑
  13. Debian下安装中文包和输入法
  14. macOS10.14 Mojave无法打开和预览jpg的解决方法
  15. springboot 后台运行
  16. CSS中的sprites
  17. android Toast大全(五种情形)建立属于你自己的Toast
  18. 【jmeter】jmeter环境搭建
  19. SPSS学习系列之SPSS Modeler怎么修改默认的内存大小(图文详解)
  20. VINS(三)IMU预积分

热门文章

  1. PHPCMS快速建站系列之常用标签
  2. 集合--Set&&HashSet和TreeSet
  3. Validation异常:No validator could be found for constraint '.....' validating type 'java.lang.Integer'.
  4. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制
  5. html的select标签清空option!~~~~
  6. 三 nginx+uWSGI+django+virtualenv+supervisor发布web服务器
  7. 知识点补充,set集合,深浅copy
  8. thinkphp 清理runtime缓存的方法, 清理指定目录
  9. 2018-11-19-win10-uwp-使用-Matrix3DProjection-进行-3d-投影
  10. 使用openssl 工具进行双向认证测试