/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ declare function print(arg:any):string; function foo({x = 11, y = 22}) { return x + y; } print(foo({})); // normal let [] = []; let [c, d] = [1, 2]; let [e, , ,...f] = [1, 2, 3, 4, 5, 6]; print(c); // 1 print(d); // 2 print(e); // 1 print(f); // 4,5,6 // destructuring more elements const foo1 = ["one", "two"]; const [red, yellow, green, blue] = foo1; print(red); // "one" print(yellow); // "two" print(green); // undefined print(blue); //undefined // swap let a = 1; let b = 3; [a, b] = [b, a]; print(a); // 3 print(b); // 1 const arr = [1, 2, 3]; [arr[2], arr[1]] = [arr[1], arr[2]]; print(arr); // [1, 3, 2] let x, y; function fn() { for ([...[x, y]] of [[null]]) { print(x); } } fn();