MST
星途 面试题库

面试题:JavaScript 逻辑操作符边界条件之布尔值判断

在JavaScript中,假设有变量a = 0; 变量b = 'false'; 变量c = null; 请写出(a && b), (a || c), (!b)的结果,并解释为什么。
22.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. (a && b)的结果为0
    • 在JavaScript的逻辑与(&&)运算中,当第一个操作数为假值(在JavaScript中,0、null、undefined、空字符串 ''、NaN 以及 false 都是假值)时,逻辑与运算会直接返回第一个操作数。这里变量 a 的值为0,是假值,所以 (a && b) 返回 a 的值,即0。
  2. (a || c)的结果为null
    • 在JavaScript的逻辑或(||)运算中,当第一个操作数为假值时,逻辑或运算会返回第二个操作数。这里变量 a 的值为0,是假值,所以 (a || c) 返回 c 的值,即null。
  3. (!b)的结果为false
    • 在JavaScript中,! 是逻辑非运算符,它会将操作数转换为布尔值然后取反。变量 b 的值为 'false',这是一个非空字符串,在JavaScript中,非空字符串会被转换为布尔值 true,对 true 取反后,(!b) 的结果就是 false