我有一个如下表达式
console.log('isSuperAdmin ' + user.user_role === "SUPER_ADMIN");
在控制台上打印 false 。但是,显然user.user_role
的值确实是"SUPER_ADMIN"
,而 DevTool ,当我将鼠标悬停在user.user_role === "SUPER_ADMIN"
表达式上时,我会得到{{1}的弹出窗口}}。你能否告诉我,为什么表达式最终被评估为true
?
PS:我是Javascript的新手,所以请指出正确的方向。
答案 0 :(得分:3)
+
操作在===
之前完成,因此最简单的解决方案是用()
包围它,但如果将第二个语句作为另一个参数添加到另一个参数中可能会更好console.log()
,因此您的调试窗口可以以适当的方式显示它。
console.log("text" + 1 === 1);
console.log("text" + (1 === 1));
console.log("text", 1 === 1);