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 definedconsole.log("my name is kylin");
}

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

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

附一个图片

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

转载于:https://www.cnblogs.com/asdfq/p/10994231.html

javascript优先级注意点相关推荐

  1. javascript --- 优先级执行顺序

    优先级网址 优先级: a && b || c ? c || b ? a : c && b :a// 从优先级网址可以看出 // &&的优先级为:6 // ...

  2. JavaScript——优先级队列

    优先级队列的特点: 我们知道, 普通的队列插入一个元素, 数据会被放在后端. 并且需要前面所有的元素都处理完成后才会处理前面的数据. 但是优先级队列, 在插入一个元素的时候会考虑该数据的优先级.(和其 ...

  3. (4)javascript的运算符以及运算符的优先级

    运算符的使用方法 在javascript的程序中要完成各种各样的运算,是离不开运算符的. 在javascript中,按运算符类型可以分为算术运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符等. ...

  4. JavaScript基础05-day07【条件运算符、运算符优先级、代码块、if语句】

    学习地址: 谷粒学院---尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版J ...

  5. javascript 运算符优先级

    JavaScript 运算符优先级(从高到低) https://github.com/xhlwill/blog/issues/16 今天把js函数转换为python 函数时,发现在js运算符优先级这边 ...

  6. javascript中基本包装、算数运算符、递增递减运算符、赋值运算符、比较运算符、逻辑运算符、运算符优先级

    基本包装类型: 指基本类型的数据变量通过调用属性或者方法包装成了复杂类型,这个变量也称为基本包装类型对象 <script>var str = 'hello';str = str.repla ...

  7. JavaScript运算符的优先级(案例讲解)

    先来看看这道题... 下边代码输出的结果是( ) var val = 'smtg'; console.log('Value is ' + (val === 'smtg') ? 'Something' ...

  8. Like Sunday, Like Rain - JavaScript运算符优先级

    "JavaScript⾥的很多奇技淫巧,都来⾃于对运算符的灵活使⽤." 说到运算符的优先级,我们往往会想到一张见过无数次却从来没背下来的表.因为没背下来, 所以往往会认为它很简单, ...

  9. JavaScript中逻辑运算符的优先级

    优先级 运算符(名称) 运算符(样式) 1 小括号 () 2 一元运算符 + +    - -    ! 3 算术运算符 先    *    /     %    后    +    - 4 关系运算 ...

最新文章

  1. Android4.0源码Launcher启动流程分析【android源码Launcher系列一】
  2. 零基础如何学Java?拥有编程思想呢?
  3. springboot报错---@RunWith(SpringRunner.class)
  4. 【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理
  5. 【Spark】SparkStreaming-Kafka-Redis-集成-基础参考资料
  6. 正则表达式以什么开头以什么结尾_股票hk是什么意思,股票st开头是什么意思,新通联股票...
  7. Windows Subsystem for Linux(WSL)安装emqx
  8. import python settings from_Python的Django框架中settings文件的部署建议
  9. 1.5编程基础之循环控制 26 统计满足条件的4位数个数 python
  10. 文件I/O实践(1) --基础API
  11. fzu 1675 The Seventy-seven Problem
  12. 2018司法人工智能:罪名预测、刑期预测、法条推荐
  13. C#使用NLOG System.TypeInitializationException,类型初始值设定项引发异常
  14. js调用百度地图搜索功能
  15. 手机上做c语言作业的软件下载,手机c语言编程软件
  16. 浙大PAT 1058
  17. 毕业设计 基于stm32的计步器设计与实现 - 物联网
  18. 私有云服务器和公有云服务器的区别你真的知道吗?
  19. SpaceShooter打飞机教程笔记(三)
  20. [区块链笔记1] 入坑区块链 智能合约solidity基础

热门文章

  1. java学习(131):hashtable
  2. exp/imp和expdp/impdp在功能上的区别:
  3. win10如何修改IP地址
  4. 基于密度的异常值检测方法整理
  5. CSS之Background-clip属性
  6. 2017 ICPC西安区域赛 A - XOR ,线段树合并线性基
  7. unity3d 鼠标延各个方向拖拽物体
  8. Android - 基于Toolbar的Navigation Drawer(Material Design)
  9. windows下使用MinGW+msys编译ffmpeg
  10. Zend Framework(一)概述介绍