Javascript中是否有二进制真值运算符?

Javascript中是否有二进制真值运算符?,javascript,vuejs2,Javascript,Vuejs2,这个表达式在Vuejs中是什么意思 :class="{ expr1: expr2}" 它似乎是一个真值表达式,但Javascript中是否有一个二进制真值运算符?这是Vue中用于类绑定的运算符。如果expr2是一个值,则Vue将向元素添加类expr1 :class是用于v-bind:class的 例如,如果该表达式位于div上 <div :class="{expr1: expr2}"></div> 编辑 在javascript中,Truthy值通常是造成混乱和错误的原

这个表达式在Vuejs中是什么意思

:class="{ expr1: expr2}"
它似乎是一个真值表达式,但Javascript中是否有一个二进制真值运算符?

这是Vue中用于类绑定的运算符。如果
expr2
是一个值,则Vue将向元素添加类
expr1

:class
是用于
v-bind:class

例如,如果该表达式位于
div

<div :class="{expr1: expr2}"></div>
编辑

在javascript中,Truthy值通常是造成混乱和错误的原因。但是,您可以使用一个值来确保您有一个
true

:class="{expr1: true === expr2}"
这将允许您避免出现
expr2
可能是真实的而不是
true
的情况


.

这是一个类绑定,这意味着当expr2为truthy时,节点将获得类expr1


阅读:

声明类对象可以绑定到类,因此不能停止这样做,类对象:{active:true,‘text-danger’:false,model:“500”}请注意模型名称,它可能不是真值。不确定是否有一个干净的方法来做这件事。你是对的。您可能会遇到这样的情况:您犯了一个错误,导致了一个真实的值,而这个值最终将得到一个您并不真正想要的类。但是您可以从一个函数返回该对象,该函数检查该对象是否有效。与中一样,
:class=“makeClassObject”
其中
makeClassObject
是一个函数,它返回一个对象,其中属性为类,值为布尔值。在该函数中,您还可以验证布尔值。此外,您还可以使用来确保具有真实值:
:class=“{expr1:true===expr2}”
:class="{expr1: true === expr2}"