MST
星途 面试题库

面试题:JavaScript 表达式优化之逻辑运算

假设有这样一段代码:`let a = true; let b = false; let c = true; let result = (a && b) || (b && c) ||!(a && c);` 请优化这段逻辑表达式,使其更加简洁易读,并说明优化思路。
41.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 优化后的代码
    let a = true;
    let b = false;
    let c = true;
    let result =!a ||!c;
    
  2. 优化思路
    • 首先分析原始表达式(a && b) || (b && c) ||!(a && c)
    • 根据逻辑与(&&)和逻辑或(||)的运算规则进行化简。
      • a && b,因为bfalse,所以不管a的值如何,a && b恒为false
      • b && c,同样因为bfalse,所以b && c恒为false
      • 对于!(a && c),根据德摩根定律,!(a && c)等价于!a ||!c
    • 由于前两部分(a && b)(b && c)恒为false,那么整个表达式就等价于!(a && c),进一步化简为!a ||!c。这样优化后,逻辑更加简洁易读。