javascript优先级注意点

javascript 优先级

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

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

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

首先说明
** == 的优先级是高于 && 的 **code

可能你们本身逻辑判断的时候, 实际上是想判断下 emptyObj 是非空, 而后再比较 emptyObj.name 与 keylin 的关系, 但这里的执行顺序就有了问题图片

若是ip

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

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

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

附一个图片class

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

相关文章
相关标签/搜索