【发布时间】:2017-07-02 03:26:27
【问题描述】:
在Javascript中,有什么区别
if(!!isLoaded) 和 if(Boolean(isLoaded))?
我最近开始开发一个应用程序,以前的开发人员经常这样做。
我进行了一些测试,它们似乎都将字符串“true”和“false”转换为布尔类型,我认为这是这样做的主要原因。
如果它们确实相同,那么大家对哪一个更具可读性有什么看法?
【问题讨论】:
-
两者都会将字符串
"true"和"false"转换为布尔值true。但是,是的,它们做的事情完全相同。 -
没有更多的可读性 - 你想要的也没有
-
两者区别不大,也相当于
if(isLoaded),我认为是最易读的。 -
是的,@Barmar 是对的(不出所料)——当你真的想要一个真正的布尔值来跟踪时,通常会使用这些转换;如果它只是一个
if语句,那么没有意义,因为if条件的评估无论如何都会做同样的事情。
标签: javascript string types casting boolean