| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| // |
| // Test Equals operator with abstract equality comparison algorithm (ES3.0: S11.9.1, S11.9.3) |
| // |
| |
| if (undefined == null) |
| WScript.Echo("Algorithm says equivalent"); |
| else |
| WScript.Echo("Objects are not equivalent"); |
| |
| // |
| // Test Strict Equals operator (ES3.0: S11.9.4) |
| // |
| |
| if (undefined === null) |
| WScript.Echo("Same instance"); |
| else |
| WScript.Echo("Different instances"); |
| |
| if (undefined === undefined) |
| WScript.Echo("Same instance"); |
| else |
| WScript.Echo("Different instances"); |
| |
| if (null === null) |
| WScript.Echo("Same instance"); |
| else |
| WScript.Echo("Different instances"); |
| |
| function dump(a, index) |
| { |
| var value = a[index]; |
| if (value === undefined) |
| { |
| WScript.Echo("'undefined'"); |
| } |
| else if (value === null) |
| { |
| WScript.Echo("'null'"); |
| } |
| else |
| { |
| WScript.Echo(value); |
| } |
| } |
| |
| // |
| // Create an array and grow it, ensuring that all empty slots are properly set to 'undefined' |
| // |
| |
| var a = new Array(2); |
| |
| dump(a, 0); |
| dump(a, 1); |
| |
| dump(a, 10); |
| a[10] = 'A'; |
| dump(a, 10); |
| |
| dump(a, 5); |