javascript 优先级

注意一下 && 和 == 号之间的优先级关系

请首先看如下代码, 判断下 && 和 == 的优先级

const emptyObj = {name: "kylin"};
if (emptyObj && emptyObj.name === "kylin") {
console.log("my name is kylin");
}

首先说明

** == 的优先级是高于 && 的 **

可能大家自己逻辑判断的时候, 其实是想判断下 emptyObj 是非空, 然后再比较 emptyObj.name 与 keylin 的关系, 但这里的执行顺序就有了问题

如果

const emptyObj = null;
if (emptyObj && emptyObj.name === "kylin") { //Uncaught ReferenceError: empty is not defined
console.log("my name is kylin");
}

fix: (需要添加括号修正优先级)

const emptyObj = null;
if ((emptyObj && emptyObj.name) === "kylin") { //Uncaught ReferenceError: empty is not defined
console.log("my name is kylin");
}

附一个图片

{% asset_img javascript-优先级.png %}

最新文章

  1. Entity Framework的启动速度优化
  2. Ubuntu mysql
  3. 問題排查:行動裝置網頁前端 UI 設計 (1)
  4. java 方法调用绑定
  5. java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
  6. ubuntu 16.04 Ubuntu 安装GDebi,从而安装deb文件
  7. php数据库操作类
  8. Python 接口测试(二)
  9. android WebP解析开源库-支持高清无损
  10. Vue(三)指令
  11. 2018-计算机系机试(第二批)-A-最大数
  12. python3 pyinstaller生成exe文件过程问题解决记录
  13. 如何使用向量代表文档doc或者句子sentence
  14. 厉害了,他用PS不是P照片而是……
  15. SpringBoot入门 (十四) Security安全控制
  16. Django Rest Framework源码剖析(八)-----视图与路由
  17. kali linux安装及配置
  18. Delphi CreateMutex 防止程序多次运行
  19. centos6.5/6.3升级安装ImageMagick7.0.1-1
  20. 算法:基于 RingBuffer 的 Deque 实现

热门文章

  1. 比较器Comparable和Comparator
  2. C# VB .net读取识别条形码线性条码codabar
  3. mybatis映射mapper文件做like模糊查询
  4. idea中从代码自动定位到左侧类结构位置
  5. vue使用vue-cli创建项目
  6. net start mysql 失败提示“NET HELPMSG 3534”
  7. android中listview滑动卡顿的原因
  8. open abc.txt: The system cannot find the file specified
  9. FastJson--阿里开源的速度最快的Json和对象转换工具 https://www.cnblogs.com/kaituorensheng/p/8082631.html
  10. java版ftp简易客户端(可以获取文件的名称及文件大小)