1/* 2 * Copyright (c) 2023-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16const vnull = ((): Object | null | undefined => { return null })(); 17const vundefined = ((): Object | null | undefined => { return undefined })(); 18const vobject = ((): Object | null | undefined => { return new Object() })(); 19 20function main() { 21 assertTrue(null === null) 22 assertTrue(null !== undefined) 23 assertTrue(null !== vobject) 24 assertTrue(undefined === undefined) 25 assertTrue(undefined !== vobject) 26 assertTrue(vobject === vobject) 27 28 assertTrue(vnull === vnull) 29 assertTrue(vnull !== vundefined) 30 assertTrue(vnull !== vobject) 31 assertTrue(vundefined === vundefined) 32 assertTrue(vundefined !== vobject) 33 34 assertEQ(null, null) 35 assertTrue(null == undefined) 36 assertNE(null, vobject) 37 assertEQ(undefined, undefined) 38 assertNE(undefined, vobject) 39 assertEQ(vobject, vobject) 40 41 assertEQ(vnull, vnull) 42 assertTrue(vnull == vundefined) 43 assertNE(vnull, vobject) 44 assertEQ(vundefined, vundefined) 45 assertNE(vundefined, vobject) 46} 47