我有一个像下面这样的表达式
console.log('isSuperAdmin ' + user.user_role === "SUPER_ADMIN");
在控制台上打印false。但是,显然,当我将鼠标悬停在表达式 user 上时,
,我收到一个弹出窗口,内容为 user.user_role
的值确实是 "SUPER_ADMIN"
并且在 DevTool 上。 user_role === "SUPER_ADMIN"true
。您能告诉我,为什么表达式最后被评估为 false
吗?
PS:我是 Javascript 新手,所以请为我指明正确的方向。
最佳答案
+
操作在 ===
之前完成,因此最简单的解决方案是用 ()
包围它,但也可以是如果将第二条语句作为另一个参数添加到 console.log()
中,效果会更好,这样调试窗口就可以以适当的方式显示它。
console.log("text" + 1 === 1);
console.log("text" + (1 === 1));
console.log("text", 1 === 1);
关于Javascript 表达式求值 - 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49600418/