13af6ab5fSopenharmony_ci/*
23af6ab5fSopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License.
53af6ab5fSopenharmony_ci * You may obtain a copy of the License at
63af6ab5fSopenharmony_ci *
73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
83af6ab5fSopenharmony_ci *
93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and
133af6ab5fSopenharmony_ci * limitations under the License.
143af6ab5fSopenharmony_ci */
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_civar [var1, var2] = [1, "foo", true];
183af6ab5fSopenharmony_civar1 = 2;
193af6ab5fSopenharmony_civar2 = "bar";
203af6ab5fSopenharmony_ci
213af6ab5fSopenharmony_civar var3: number;
223af6ab5fSopenharmony_civar var4: boolean;
233af6ab5fSopenharmony_civar [var3, , var4] = [var1, , true];
243af6ab5fSopenharmony_ci
253af6ab5fSopenharmony_civar [var5 = 2] = ["foo"];
263af6ab5fSopenharmony_civar var5: number | string;
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_civar [var6 = 1, var7 = "asd", var8 = true] = [];
293af6ab5fSopenharmony_civar var6: number;
303af6ab5fSopenharmony_civar var7: string;
313af6ab5fSopenharmony_civar var8: boolean;
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_civar [var9, [var10, , var11], ...var12] = [{ a: 6, b: "bar" }, [42, , "foo" + 2]];
343af6ab5fSopenharmony_civar9 = { a: 5, b: "foo" };
353af6ab5fSopenharmony_civar10 = var3;
363af6ab5fSopenharmony_civar11 = var7;
373af6ab5fSopenharmony_civar12 = [];
383af6ab5fSopenharmony_ci
393af6ab5fSopenharmony_civar [var13 = [1, "foo"], [var14, var15] = [{}, true], ...var16] = [3, [true, {}], function (a: any, b: any): number { return 12 }, "bar"];
403af6ab5fSopenharmony_civar13 = 5;
413af6ab5fSopenharmony_civar13 = [2, "baz"];
423af6ab5fSopenharmony_civar14 = {};
433af6ab5fSopenharmony_civar14 = false;
443af6ab5fSopenharmony_civar15 = var14;
453af6ab5fSopenharmony_civar var16: [(a: any, b: any) => number, string];
463af6ab5fSopenharmony_ci
473af6ab5fSopenharmony_civar [var17, var18 = 6, var19]: [number, number | string, boolean[]] = [1, "foo", [true, false]];
483af6ab5fSopenharmony_civar [var20, , var21]: number[] | [number, number, string] = [];
493af6ab5fSopenharmony_civar [var22, var23 = [{ a: 5, b: "foo" }, false], var24]: string[] | [number, ({ a: number, b: string } | boolean)[]] = [1, [{ a: 1, b: "bat" }, true]];
503af6ab5fSopenharmony_civar [[var25, var26] = ["foo", {}], [[var27]]]: number[][][] | [[number | string, {}], [[number]]] = [[1, {}], [[3]]];
513af6ab5fSopenharmony_civar [var28 = {}, { var29 }, ...var30]: [{}, { var29: number }, number, string] = [{}, { var29: 5 }, 1, "foo"];
523af6ab5fSopenharmony_ci
533af6ab5fSopenharmony_civar var31: number;
543af6ab5fSopenharmony_civar var32: boolean;
553af6ab5fSopenharmony_ci
563af6ab5fSopenharmony_ci[var31, var32] = [var31, true];
573af6ab5fSopenharmony_ci[var31, var31] = [5, 6];
583af6ab5fSopenharmony_ci[var31, var32] = [var31, true, false, 5];
593af6ab5fSopenharmony_ci
603af6ab5fSopenharmony_civar var33: number;
613af6ab5fSopenharmony_civar var34: boolean;
623af6ab5fSopenharmony_ci
633af6ab5fSopenharmony_ci[var33, var34] = [var31, var32];
643af6ab5fSopenharmony_ci
653af6ab5fSopenharmony_civar var35: string | number;
663af6ab5fSopenharmony_ci
673af6ab5fSopenharmony_ci[var35 = 2] = ["foo"];
683af6ab5fSopenharmony_ci
693af6ab5fSopenharmony_civar var36: number;
703af6ab5fSopenharmony_civar var37: string;
713af6ab5fSopenharmony_civar var38: boolean;
723af6ab5fSopenharmony_ci[var36 = 1, var37 = "asd", var38 = true] = [];
733af6ab5fSopenharmony_ci
743af6ab5fSopenharmony_civar var39 = {};
753af6ab5fSopenharmony_civar var40 = var33;
763af6ab5fSopenharmony_civar var41 = var37;
773af6ab5fSopenharmony_civar var42 = [];
783af6ab5fSopenharmony_ci[var39, [var40, , var41 = "bar"], ...var42] = [{}, [42, , "foo" + 2]];
793af6ab5fSopenharmony_ci[var39, [var40, , var41 = "bar"], ...var42] = [{}, [42, , "foo" + 2], 3, "baz", false];
803af6ab5fSopenharmony_ci
813af6ab5fSopenharmony_ci[var39, [var40, , var41 = "bar"] = [45, , "baz"], ...var42] = [{}, [42, , "foo" + 2]];
823af6ab5fSopenharmony_ci
833af6ab5fSopenharmony_civar var43 = [45, , "baz"] as const;
843af6ab5fSopenharmony_ci
853af6ab5fSopenharmony_civar var44 = "foo";
863af6ab5fSopenharmony_ci
873af6ab5fSopenharmony_ci[var39, [var40, , var41 = "bar"] = var43, ...var42] = [{}, [42, , var44 + 2]];
883af6ab5fSopenharmony_ci
893af6ab5fSopenharmony_civar var45: string[];
903af6ab5fSopenharmony_civar var46: number[];
913af6ab5fSopenharmony_civar var47: (string | number)[];
923af6ab5fSopenharmony_civar var48: string[];
933af6ab5fSopenharmony_ci
943af6ab5fSopenharmony_ci[var45, var46, var47, var47, var47, ...var48] = [["foo", "bar"], [1, 2], ["foo", "bar"], [1, 2], [1, "foo"], "bar", "bar"]
953af6ab5fSopenharmony_ci
963af6ab5fSopenharmony_civar var49: string[];
973af6ab5fSopenharmony_civar var50: number[];
983af6ab5fSopenharmony_ci[[...var49], ...var50] = [["foo", "bar"], 1, 2]
99