10
09/2014
javascript 为什么要用 === 和 !==
javascript 是 弱 类型语言,用 == 时,会自动转换类型。在 chrome 控制台(command+alt+j),运行下面代码
99=='99' //true 0=='' //true 0==' ' //true 0==' \t\n\r ' //true false==0 //true false=='false' //false使用 === 对比,两边类型也必须一致
99==='99' //false 0==='' //false 0===' ' //false 0===' \t\n\r ' //false false===0 //false
再看看 != 和 !==
99!='99' //false 0!='' //false 0!=' ' //false 0!=' \t\n\r ' //false false!=0 //false false!='false' //true
99!=='99' //true 0!=='' //true 0!==' ' //true 0!==' \t\n\r ' //true false!==0 //true false!=='false' //true
结论是:专业人士都推荐使用 === 和 !==。
小测试
猜猜下面的结果
false == 'false' // false false == '0' // true false == undefined // false false == null // false null == undefined // true !false==!undefined // true null===undefined // false