Object.is(),其行为与===基本一致,不过有两处不同: +0不等于-0。 NaN等于自身。背大佬的:NaN == NaN // falseNaN === NaN // false// indexOf方法无法识别数组的NaN成员[NaN].indexOf(NaN) // -1// 向 Set 数据结构中加入值时认为NaN等于自身let set = new Set();set.add(NaN);set.add(NaN);console.log(set); // Set {NaN}// Object.is()方法认为NaN等于NaNObject.is(NaN, NaN) // true+0 === -0 //trueObject.is(+0, -0) // false// ES7中新增的数组实例方法,includes()方法认为NaN等于自身[1, 2, NaN].includes(NaN) // true 下列表达式中,返回值为true的是() ①Object.is(NaN,NaN) ②Object.is(+0,-0) ③NaN === NaN ④+0 === -0 https://www.nowcoder.com/questionTerminal/9a29a92eb7b548309f9ed92f9c147470