【发布时间】: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