javascript=!1:这是什么意思

javascript=!1:这是什么意思,javascript,d3.js,underscore.js,Javascript,D3.js,Underscore.js,我刚开始学习javascript。我已经学习了一些基本的教程。我在试着理解我找到的剧本。此脚本在多个地方具有如下内容: var USE_CANVAS = !0; if ("trydom" == window.location.hash || "#trydom" == window.location.hash) USE_CANVAS = !1; 我不知道这是什么意思?当我通过简单地在控制台中键入该变量来计算该变量时,它返回“true”。 我在网上找不到这种款式的任何参考资料。 我应该提到,脚本依

我刚开始学习javascript。我已经学习了一些基本的教程。我在试着理解我找到的剧本。此脚本在多个地方具有如下内容:

var USE_CANVAS = !0;
if ("trydom" == window.location.hash || "#trydom" == window.location.hash) USE_CANVAS = !1;
我不知道这是什么意思?当我通过简单地在控制台中键入该变量来计算该变量时,它返回“true”。 我在网上找不到这种款式的任何参考资料。 我应该提到,脚本依赖于underline.js和d3.js,但是我个人在这两个库中没有发现任何类似于上述内容的内容

我也无法解释的另一句话与“疑问”和“冒号”的用法有关,如下所示:

您可以忽略select、call和scale的引用,因为这些都是d3js函数。 我只是粘贴第二行,因为我不确定这是“javascript”还是一种完全不同的语言。但是,该文件名为“chart.js”

问候,,
理查德。

表达式
!1
的计算结果为
false
。不清楚为什么会有人写这样的代码

?:
运算符源于C语言的传统。它是“三元”运算符,是
if。。。else
语句

因此


test
true
(或“truthy”)时,将计算为
whenTrue
,当不为
时,将计算为
whenTrue

表达式
!1
的计算结果为
false
。不清楚为什么会有人写这样的代码

?:
运算符源于C语言的传统。它是“三元”运算符,是
if。。。else
语句

因此

test
true
(或“truthy”)时,
whenTrue
将计算为
whenTrue
,当它不是时,
whentalse
将计算为

在Javascript中,1为“truthy”,意味着1可以表示布尔值true

这意味着1基本上是真的。同样,0是falsy,意思是false

所以如果有什么事情是真的!这是“不真实的”,也就是说这是假的

var USE_CANVAS = !0;
基本上与以下内容相同:

var USE_CANVAS = true;
但是占用的空间更少,而且通常是缩小JS的外观。

在Javascript中,1是“truthy”,这意味着1可以表示布尔值true

这意味着1基本上是真的。同样,0是falsy,意思是false

所以如果有什么事情是真的!这是“不真实的”,也就是说这是假的

var USE_CANVAS = !0;
基本上与以下内容相同:

var USE_CANVAS = true;


但占用的空间较少,而且通常是缩小的JS的外观。

我很想看看别人怎么说。0计算为false,1计算为true,并且!只是一个否定,所以!0变为真,并且!1变为假。现在你告诉我为什么?它的意思是布尔假。通常情况下,迷你们会将false转换为!1和。快乐阅读!是布尔not运算符。这是一个复制品。顺便提一句在许多其他语言中都是布尔not运算符,在逻辑运算符的上下文中,它可能是一种编程习惯用法。如果想将变量设置为true | false,最好是显式设置,如在a=true或b=false中,并且不依赖于在布尔上下文中0计算为false,1计算为true的约定。关于!0等等,正如其他人指出的,这是一个缩小结构,在现代代码库中这样做是一个可怕的决定。代码应该是可读的和可维护的。缩小是一个构建步骤。我很想看看别人怎么说。0计算为false,1计算为true,并且!只是一个否定,所以!0变为真,并且!1变为假。现在你告诉我为什么?它的意思是布尔假。通常情况下,迷你们会将false转换为!1和。快乐阅读!是布尔not运算符。这是一个复制品。顺便提一句在许多其他语言中都是布尔not运算符,在逻辑运算符的上下文中,它可能是一种编程习惯用法。如果想将变量设置为true | false,最好是显式设置,如在a=true或b=false中,并且不依赖于在布尔上下文中0计算为false,1计算为true的约定。关于!0等等,正如其他人指出的,这是一个缩小结构,在现代代码库中这样做是一个可怕的决定。代码应该是可读的和可维护的。缩小是一个构建步骤。可能当有人想将它与另一个表示布尔值的整数进行比较时,也需要进行类型值检查。是的,它可能是出于任何类似的原因。看起来非常“高尔菲”,但在没有其他缩小的情况下看起来很奇怪。我将此标记为正确答案,因为您回答了我的两个问题!你可以在下面的页面上找到这段代码的来源:纽约时报,facebook ipo的可视化:可能有人想用类型值检查将它与另一个表示布尔值的整数进行比较。是的,它可能是出于任何类似的原因。看起来非常“golfy”,但是,如果没有其他细节,我会认为这是正确的答案,因为你回答了我的两个问题!你可以在下面的页面上找到这段代码的来源:《纽约时报》,facebook ipo的可视化:@JunedAhsan no,这在JavaScript中是不正确的
0
NaN
false
null
、和
未定义的
在布尔上下文中也被解释为
false
。关于缩小JS的观点很好。了解此代码为什么会存在是很有帮助的。此代码来自《纽约时报》页面:@JunedAhsan no,这在JavaScript中不是真的
0
NaN
false
null
、和
未定义的
在布尔上下文中也被解释为
false
。关于缩小JS的观点很好。了解此代码存在的原因很有帮助。此代码来自《纽约时报》页面: