阅读一些代码时,我发现了!0和!1的使用。我意识到这是写true和false更短的方式。!0 === true !1 === false 当然,这样做可以节省一些字节,但还有其他使用它的理由吗? 这种写法有一个名字吗?
大多数JavaScript缩小工具(例如UglifyJS)生成该代码,因为它更短且语义等效。例如,给定: var x = true; if (x) { alert(x); } UglifyJS将生成var x =!0;x&&alert(x)。 通常情况下,您不需要使用这种风格编写代码;让缩小器来完成它们的工作 :-)
!!0
(false)和!!1
(true),因为它们更加清晰,而且只增加了50%的大小!不开玩笑,请使用关键字。 - user166390!0
表示true
确实很容易被误读。 - Christofer Eliasson