JavaScript: '!0' shorthand 是布尔值 'true' 吗?
JavaScript: Is '!0' shorthand of Boolean 'true'?
在将 Google Analytics 从异步版本更新为通用版本时,我遇到了这条事件跟踪线,这是几年前别人写的。
_gaq.push(["_trackEvent", "Social Widget Share", "Shared to Facebook", "Share to Facebook via the Social Driver Widget", 0, !0])
我的理解是,最后一个元素是用"true"表示一个非交互事件,否则它被排除在数组之外。
我从未见过 !0,并且在此处或网络上的其他地方搜索时找不到任何迹象表明 !0 在布尔符号或分析事件跟踪方面很重要。
是的!0 始终为真,因为 0 为假,这是一种将真或 1 写为布尔值的方法
是的,没错,请查看下面的一些 true
和 false
值
// 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));
在将 Google Analytics 从异步版本更新为通用版本时,我遇到了这条事件跟踪线,这是几年前别人写的。
_gaq.push(["_trackEvent", "Social Widget Share", "Shared to Facebook", "Share to Facebook via the Social Driver Widget", 0, !0])
我的理解是,最后一个元素是用"true"表示一个非交互事件,否则它被排除在数组之外。
我从未见过 !0,并且在此处或网络上的其他地方搜索时找不到任何迹象表明 !0 在布尔符号或分析事件跟踪方面很重要。
是的!0 始终为真,因为 0 为假,这是一种将真或 1 写为布尔值的方法
是的,没错,请查看下面的一些 true
和 false
值
// 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));