优势!0超过布尔值true

时间:2014-08-20 12:53:41

标签: javascript

当我浏览javascript的缩小文件时,我可以看到'!0'而不是布尔true!1而不是布尔false

  • 是否有任何性能提升?
  • 您是否建议在普通的javascript代码中使用此表示法?

3 个答案:

答案 0 :(得分:6)

它更短(即更少的字节)...通常进行缩小以节省带宽,而不是执行性能。

考虑一个JS文件有500 true和500 false

  • 每个true保存2个字节;
  • 每个false保存3个字节;
  • 为每个请求保存2500字节;
  • 每10,000个请求节省了近10M。

这听起来可能不是很多,但如果你很大(数百万的请求),这(与其他缩小技术一起)可能会相当多......这不仅仅是带宽,服务器只能支持如此多的开放式TCP连接,所以如果您的请求速度提高10ms,那么我们可以为更多具有相同容量的人提供服务。

修改:FlorianSchöffladded a performance test;虽然存在某些差异,但只有当我们进行数亿次测试时才会显示,即使这样,非常也很小。换句话说:没有可测量的真实世界性能差异,因为即使在大型项目中布尔测试的数量也要小得多(几个数量级)。

您应该永远手动在JavaScript代码中输入此内容;如果您关心缩小,请使用工具。有许多好的缩小工具。

答案 1 :(得分:1)

性能有所不同。 See here 如果你愿意,你可以使用这种技术,但更糟糕的是 人眼阅读,只有0.15%快,所以我不推荐它!

答案 2 :(得分:0)

看起来像!0只是真正的最短等价物。