js的 == 和 ===的区别

时间:2023-02-05 02:51:50
1、对于string,number等基础类型,==和===是有区别的
  不同类型间比较,==之比较转化成同一类型后的值看值是否相等,===如果类型不同,其结果就是不等,同类型比较,直接进行“值”比较,两者结果一样
function test(){
//string == number 值得比较
if('1'==1){
console.log('string == number is true');
}
//string === number 类型先比较,后值比较
if('1' === 1){
console.log('1')
}else{
console.log('2')
}
if(1===1){
console.log('3');
}
//输出
//string == number is true
//
// }
2、对于Array,Object等高级类型,==和===是没有区别的
  进行“指针地址”比较
3、基础类型与高级类型,==和===是有区别的
  对于==,将高级转化为基础类型,进行“值”比较,因为类型不同,===结果为false