【问题标题】:Is there a toBool function in javascript? [duplicate]javascript中有toBool函数吗? [复制]
【发布时间】:2021-10-08 23:55:03
【问题描述】:

是否有一个函数/方法来评估一个值是在 javascript 中计算为 true 还是 false?如果不是,以下是一个很好的替代品吗?

const toBool = (x) => x ? true : false;

【问题讨论】:

  • 没有,因为没有必要——自然地使用 JS 的虚假(或 !!x 成语)。这个toBool 函数对 JS 程序有何改进?它不会使它们更具可读性或可维护性 - 在我看来,这增加了零值。
  • @Dai 有这方面的用例,但我同意如果你只是打算像这样使用它:if (toBool(x)) 这没有意义,但在某些情况下你需要一个真正的/false 而不是真实值。
  • 几种方式:Boolean(x) 将转换为布尔值(确保不要使用 new)。 !!x 也是如此。请注意,正如其他评论所暗示的那样,很少需要这样做。除非我们在谈论 Typescript。
  • @JaredSmith TypeScript 支持 !!x - 并且按照您的建议使用 Boolean(x) 也等同于 toBool
  • @dai 的更多意思是,与 JS 不同,TS 实际上关心某事是布尔值还是真/假

标签: javascript


【解决方案1】:

你的三元很好。另一种方法是const toBool = (x) => !!x;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2011-04-30
    • 2011-06-23
    • 2023-03-06
    相关资源
    最近更新 更多