console.log(typeof row.status,row.status)
row.status=!row.status
console.log('status:',row.status)
运行结果如下:
row.status值为0,但是是字符串类型,由字符串类型与布尔类型转换规则,‘0’是转换为true的,所以执行row.status=!row.status
后,row.status值为false。
执行下面代码输出如下:
console.log(row.status == false) //输出true
console.log(row.status === false) //输出false
==会进行一个隐式类型转换,所以false转换为整型0,‘0’也转换为整型0,所以输出为true。
===除了比较值之外,还比较类型,他们类型就是不一样的,输出false