为什么这等于真的

时间:2018-10-06 03:42:03

标签: javascript vue.js

所以我们说下面的代码,

var attachRed = false;

为什么

attachRed = !attachRed equals true?

我问是因为我有以下Vue代码,但我不明白它为什么起作用

<div id="app">
  <div 
    class="demo" 
    @click="attachRed = !attachRed"
    :class="{red: attachRed}">
  </div>
</div?

new Vue({
    el: '#app',
  data: {
    attachRed: false
  }
})

2 个答案:

答案 0 :(得分:2)

!运算符的意思是“不是”。因此,如果attachRed的值为true,则!attachRed的意思是“不正确”(当然是“假”)。如果attachRed的值为false,则!attachRed的意思是“不是false”,因此是“ true”。

答案 1 :(得分:2)

在JS和大多数编程语言中,单个“ =”运算符用于将一个值分配给另一个。因此,执行attachRed = !attachRed只是在重新分配attachRed的值。当您重新分配任何变量的值时,返回的是新值。如果要比较两个值,请使用=====