/* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ */ var list = [ [1, 1, true], [0, 1, false], [3.5, 3.5, true], [0, 0, true], [0, -0, false], [-0, 0, false], [-0, -0, true], [true, true, true], [true, false, false], [false, false, true], [NaN, NaN, true], [NaN, undefined, false], [Infinity, -Infinity, false], [Infinity, Infinity, true], ] for (var test of list) { assertEq(Object.is(test[0], test[1]), test[2]) } var obj = {} assertEq(Object.is(obj, obj), true); assertEq(Object.is(obj, {}), false); assertEq(Object.is([], []), false); assertEq(Object.is(null, null, null), true); /* Not defined parameters are undefined ... */ assertEq(Object.is(null), false); assertEq(Object.is(undefined), true); assertEq(Object.is(), true); assertEq(Object.is.length, 2);