javascript优先级注意点

Posted asdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript优先级注意点相关的知识,希望对你有一定的参考价值。

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 %

以上是关于javascript优先级注意点的主要内容,如果未能解决你的问题,请参考以下文章

编写高性能 JavaSCript 注意点

Javascript中的作用域问题

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

js 变量声明易混淆的几点知识