首页 > 其他分享 >js隐式转换

js隐式转换

时间:2022-10-22 19:32:52浏览次数:74  
标签:console log js ---- toString false true 隐式 转换

 <script>
//个人感觉是两边都调用了Number
console.log(true == 1); // 1==1 ---- true
console.log(true == '1'); // 1==1 ----true
console.log(1 == '2'); // 1==2 ---- false
console.log('a' == 1); // NaN==1 ---- false
console.log(true == 'true'); // 1==NaN ---- false
console.log(true == 'false'); // 1==NaN ---- false
console.log('----------------------------------------------------');
//对象之间比较地址值
console.log([] == []); //false
console.log([] == {}); //false
console.log([] === []); //false
console.log({} === {}); //false
console.log([] !== []); //true
console.log({} !== {}); //true

console.log('----------------------------------------------------');
//如果一个操作数是对象,另一个操作数不是,则调用对象的toString()方法
//下面的比较步骤:
// []==false
// [].toString()==false
// "" == false
console.log([] == ![]); //true
//下面的比较步骤:
// {}==false
// {}.toString==false
// "[object Object]"==false
// NaN==false
console.log({} == !{}); //false

console.log(0 == '0'); //true

//下面的比较步骤:
// 0==[].toString()
// 0==""
// 0==Number('')
// 0==0
console.log(0 == []); //true

//下面的比较步骤:
// "0" == [].toString()
// "0" == ""
console.log("0" == []); //false
</script>

标签:console,log,js,----,toString,false,true,隐式,转换
From: https://blog.51cto.com/u_15011997/5786084

相关文章