var set = new Set([0, 2, 2, 0, 0, 5, 9, {}, {}, NaN, NaN])
set.size//7,两个{}、{}不同,NaN被过缕掉一个
//1、引用类型的空不与0值概念相同,因为引用类型存的是指针
console.log(!{});//false;
console.log(!"");//true
console.log(![]);//false;
//2、两种symbol创建方式
console.log(Symbol(1) === Symbol(1));//false;
console.log(Symbol.for(1) === Symbol.for(1));//true
//symbol.for(key)创建symbol时,不像symbol()会直接创建,而是在注册表中找到是否有相同关联key的symbol,如果没有才新建
//3、NaN
console.log(NaN === NaN);//false,不严格比较也是false
console.log(!NaN);//true,NaN本身在转换为布尔值是就代表false
//4、object.is,出了以下两种情况,其他与严格比较结果相同
console.log(Object.is(+0, -0));//false
console.log(Object.is(NaN, NaN));//true