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优先级注意点的主要内容,如果未能解决你的问题,请参考以下文章