我在GTM脚本中遇到了以下语法,但不确定如何工作:
if(!!{{var1}} && !!{{var2}}){
// . . . other code here
}
现在,我可以说{{}}
语法用于捕获变量值,但是找不到对!!
运算符的引用(如果有这样的话)。
它在GTM中代表什么,还是只是草率的编程而这些!!
可以删除?我应该提到的是,此脚本中还有更多if
条语句,它们看起来都很不错。这是唯一拥有这些!!
的商店。有什么想法吗?
答案 0 :(得分:2)
这不是特定于GTM脚本的,这是将对象强制转换为布尔值的标准JavaScript做法。在JavaScript中,存在虚假的值,例如null或undefined等(list here),使用!!后它们将为false。 (bang bang),否则为true。
请注意,这不是一个特殊的操作数! (NOT)使用两次来强制类型为布尔值。
这是一篇很好的文章,很好地解释了它:https://medium.com/@edplatomail/js-double-bang-or-the-not-operator-part-40e55d089bf0
要回答您的问题,它不是草率的编程,因此不应删除。