VUE中== 与 ===的区别以及!=与!==的区别

vue.js中

1、== 用来比较或者判断两者是否相等,比较时可以自动转换数据类型。

  === 用来较为严格的比较,除判断数据是否相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false)。

2、!= 用来比较或者判断两者是否不相等,比较时可以自动转换数据类型。

  !== 用来较为严格的比较,除判断数据是否不相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false)。

const entityNo = (rule, value, callback) => {
          if (value === '' || value == null) {
              callback(new Error('请输入社会信用代码'))
          } else if (!checkNumAndWord(value)) {
              callback(new Error('请输入正确的社会信用代码'))
          }
          if(this.entityNo1 != value){
              enterprise.checkEntityNo({entityNo:value}).then(res => {
                  if(res.success){
                      if (res.data) {
                          callback(new Error("社会信用代码已存在"))
                      } else {
                          callback();
                      }
                  }
              })
           }else{
              callback();
          }

      }

如上所示,如果在点击添加时,实际上不相等,但是仍然进不去,因为类型不同。

注意:一点要执行callback函数,否则校验不成功。

不能写成如下的样子:

const entityNo = (rule, value, callback) => {
          if (value === '' || value == null) {
              callback(new Error('请输入社会信用代码'))
          } else if (!checkNumAndWord(value)) {
              callback(new Error('请输入正确的社会信用代码'))
          }
          if(this.entityNo1 != value){
          // if(this.dialogStatus === "create" || (this.entityNo1 && this.entityNo1 != value)){
              enterprise.checkEntityNo({entityNo:value}).then(res => {
                  if(res.success){
                      if (res.data) {
                          callback(new Error("社会信用码已存在"))
                      } else {
                          callback();
                      }
                  }
              })
           }
      }