You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript布尔三元表达式简写语法咨询:var foo = (expression)? true : false

JavaScript布尔三元表达式的简写方案

当然有啦!你写的var foo = (expression)? true : false其实是个有点冗余的写法——因为这个三元表达式本质上就是把expression的布尔结果显式返回true或false,咱们完全可以用更简洁的方式实现一模一样的效果:

  • 如果expression本身已经是布尔类型(比如是a > b、username === 'admin'这类比较运算的结果),直接赋值就行:

    var foo = expression;
    

    举个实际例子:原来写var isAdult = (age >= 18) ? true : false;,直接改成var isAdult = age >= 18;就好,结果完全一致,代码还更清爽。

  • 如果expression可能是其他类型(比如字符串、数字、对象等),你想把它强制转换为严格的布尔值,有两种常用的简写方式:

    1. 双重非运算符!!:
      var foo = !!expression;
      
      第一个!会把值转成布尔并取反,第二个!再把结果反转回来,最终得到和原三元表达式完全相同的布尔值。
    2. 使用Boolean()构造函数:
      var foo = Boolean(expression);
      
      这种写法可读性更强,尤其适合刚接触JavaScript的开发者理解。

这些简写都是JavaScript社区公认的最佳实践,既简洁又高效,比冗余的三元写法更受欢迎哦~

内容的提问来源于stack exchange,提问作者VerySeriousSoftwareEndeavours

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:36:07