strictequal.js 1.5 KB

1234567891011121314151617181920212223242526272829
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function write(v) { WScript.Echo(v + ""); }
  6. function foo() {}
  7. var all = [ undefined, null, '', '0',
  8. true, false, new Boolean(true), new Boolean(false),
  9. NaN, +0, -0, 0, 1, 10, 10.0, 10.1, -1, -10, -10.0, -10.1,
  10. Number.MAX_VALUE, Number.MIN_VALUE, Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY,
  11. new Number(NaN), new Number(+0), new Number(-0), new Number(0), new Number(1),
  12. new Number(10), new Number(10.0), new Number(10.1), new Number(-1),
  13. new Number(-10), new Number(-10.0), new Number(-10.1),
  14. new Number(Number.MAX_VALUE), new Number(Number.MIN_VALUE), new Number(Number.NaN),
  15. new Number(Number.POSITIVE_INFINITY), new Number(Number.NEGATIVE_INFINITY),
  16. "", "hello", "hel" + "lo",
  17. new String(""), new String("hello"), new String("he" + "llo"),
  18. new Object(), [1,2,3], new Object(), [1,2,3] , foo
  19. ];
  20. for (var i=0; i<all.length; ++i) {
  21. for (var j=0; j<all.length; ++j) {
  22. write("all[" + i + "](" + all[i] + ") === all[" + j + "](" + all[j] + ") = " + (all[i] === all[j]));
  23. }
  24. }