MST
星途 面试题库

面试题:JavaScript操作符优先级与结合性高级题

已知代码`let a = 2; let b = 3; let c = 4; let result = a && b || c++; console.log(result); console.log(c);`,请分析并写出输出结果,阐述操作符优先级和结合性在此处的作用。
45.6万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 输出结果
    • console.log(result); 输出 3
    • console.log(c); 输出 4
  2. 操作符优先级和结合性分析
    • 在 JavaScript 中,逻辑与 && 优先级高于逻辑或 ||
    • 首先计算 a && ba 的值为 2(在布尔上下文中为真值),b 的值为 3(在布尔上下文中为真值),所以 a && b 的结果为 b 的值,即 3
    • 然后计算 3 || c++,由于 3 在布尔上下文中为真值,根据逻辑或的短路特性,不会再计算 c++,直接返回 3 作为 result 的值。
    • 所以 c 的值保持不变,仍然为 4