1/* 2 * Copyright (c) 2022-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 */ 15let a =1; 16a &&=2; 17a ||=2; 18a ??=2; 19typeof (a ||=2); 20let person = { name: "Alice", age: 30 }; 21 22function setAge(){ 23 person.age &&= - 1; 24} 25person.age = 0; 26person.age &&= 5; 27 28let count: number | null = null; 29count ??= 10; 30 31count = 0; 32count ??= 5; 33console.log((count ??= 5)+'') 34function getCount(){ 35 return (count ??= 5); 36} 37let message: string | null = null; 38 39message ||= "msg"; 40console.log(message); 41 42message = "msg1"; 43message ||= "newMsg"; 44console.log(message); 45class Demo{ 46 constructor() { 47 message ||= "defaultMsg"; 48 } 49 setMes(){ 50 message ||= "defaultMsg"; 51 } 52 getMes(){ 53 return message ??= "newMsg"; 54 } 55}