JavaScript: Is '!0' shorthand of Boolean 'true&#

JavaScript: Is '!0' shorthand of Boolean 'true'?

本文关键字:of Boolean true shorthand Is JavaScript      更新时间:2023-09-26

在将Google Analytics从异步版本更新为通用版本时,我看到了这条事件跟踪行,这是几年前别人写的。

_gaq.push(["_trackEvent", "Social Widget Share", "Shared to Facebook", "Share to Facebook via the Social Driver Widget", 0, !0])

我的理解是,最后一个元素是用"true"来指示非交互事件,否则它将被排除在数组之外。

我从来没有见过!0,我找不到任何迹象搜索在这里或其他地方在网络上!0是一个东西,当它涉及到布尔符号-或分析事件跟踪

是的,这是正确的,请看看下面的一些truefalse的值

// False values
console.log('False values');
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(!!0));
console.log(Boolean(!1));
console.log(Boolean(''));
console.log(Boolean(null));
console.log(Boolean(undefined));
// True values
console.log('True values');
console.log(Boolean('0')); // string variable
console.log(Boolean(!0));
console.log(Boolean(1));
console.log(Boolean(!!1));
console.log(Boolean(true));

是的,0总是为真,因为0为假,这是一种将真或1写成布尔值的方法