是!0和!1不仅仅​​是真/假的简写?

时间:2012-09-01 21:45:33

标签: javascript boolean shorthand

通过阅读一些代码,我发现了!0!1的使用。我意识到这些是写truefalse的简短方法。

!0 === true
!1 === false

这当然可以节省几个字节,但还有其他原因可以使用吗?

这种写作方式有名称吗?

1 个答案:

答案 0 :(得分:8)

大多数JavaScript 缩小工具,如UglifyJS生成该代码,因为它更短且在语义上相同。例如,给定:

var x = true;
if (x) { 
  alert(x); 
}

UglifyJS将生成var x=!0;x&&alert(x)

通常,您不需要使用该样式编写代码;让 minifiers 他们的工作: - )。