• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}