14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ci/*
174514f5e3Sopenharmony_ci * @tc.name:objectkeys
184514f5e3Sopenharmony_ci * @tc.desc:test object keys
194514f5e3Sopenharmony_ci * @tc.type: FUNC
204514f5e3Sopenharmony_ci */
214514f5e3Sopenharmony_ci
224514f5e3Sopenharmony_ci(function() {
234514f5e3Sopenharmony_ci    const a = {};
244514f5e3Sopenharmony_ci    Object.defineProperty(a, 'x', {
254514f5e3Sopenharmony_ci        value: 1,
264514f5e3Sopenharmony_ci        enumerable: false
274514f5e3Sopenharmony_ci    });
284514f5e3Sopenharmony_ci    let k = Object.keys(a);
294514f5e3Sopenharmony_ci    print(k.length);
304514f5e3Sopenharmony_ci    a.y = 2;
314514f5e3Sopenharmony_ci    k = Object.keys(a);
324514f5e3Sopenharmony_ci    print(k);
334514f5e3Sopenharmony_ci})();
344514f5e3Sopenharmony_ci
354514f5e3Sopenharmony_ci(function() {
364514f5e3Sopenharmony_ci    const a = {x:1, y:2};
374514f5e3Sopenharmony_ci    let k = Object.keys(a);
384514f5e3Sopenharmony_ci    print(k[0]);
394514f5e3Sopenharmony_ci    print(k[1]);
404514f5e3Sopenharmony_ci})();
414514f5e3Sopenharmony_ci
424514f5e3Sopenharmony_cilet obj = {
434514f5e3Sopenharmony_ci    a: "something",
444514f5e3Sopenharmony_ci    10: 42,
454514f5e3Sopenharmony_ci    10: 34,
464514f5e3Sopenharmony_ci    c: "string",
474514f5e3Sopenharmony_ci    d: undefined,
484514f5e3Sopenharmony_ci    d: "str",
494514f5e3Sopenharmony_ci}
504514f5e3Sopenharmony_ciprint(Object.keys(obj));
514514f5e3Sopenharmony_ci
524514f5e3Sopenharmony_ci(function() {
534514f5e3Sopenharmony_ci    let obj = {
544514f5e3Sopenharmony_ci        '0': { x: 12, y: 24 },
554514f5e3Sopenharmony_ci        '1000000': { x: 1, y: 2 }
564514f5e3Sopenharmony_ci    };
574514f5e3Sopenharmony_ci    print(Object.keys(obj));
584514f5e3Sopenharmony_ci    print(Object.keys(obj[0]));
594514f5e3Sopenharmony_ci    print(Object.keys(obj[1000000]));
604514f5e3Sopenharmony_ci
614514f5e3Sopenharmony_ci    var o = {
624514f5e3Sopenharmony_ci        1: 1,
634514f5e3Sopenharmony_ci        2.: 2,
644514f5e3Sopenharmony_ci        3.0: 3,
654514f5e3Sopenharmony_ci        4e0: 4,
664514f5e3Sopenharmony_ci        5E0: 5,
674514f5e3Sopenharmony_ci        6e-0: 6,
684514f5e3Sopenharmony_ci        7E-0: 7,
694514f5e3Sopenharmony_ci        0x8: 8,
704514f5e3Sopenharmony_ci        0X9: 9,
714514f5e3Sopenharmony_ci    };
724514f5e3Sopenharmony_ci    let o1 = {1024: true};
734514f5e3Sopenharmony_ci    let o2 = {1024: 1024};
744514f5e3Sopenharmony_ci    print(Object.keys(o));
754514f5e3Sopenharmony_ci    print(Object.keys(o1));
764514f5e3Sopenharmony_ci    print(Object.keys(o2));
774514f5e3Sopenharmony_ci})();
784514f5e3Sopenharmony_ci
794514f5e3Sopenharmony_ciconst firstname = Symbol("firstname");
804514f5e3Sopenharmony_civar object = { wode:1, wode1:2, wode2:3, wod38:4, wode4:5, wodejn5:6, wode6:7, wode7:8, wewnde8:9, wode9:10, wode10:11, wfde11:12, w32de12:13, u231mk3:14, [firstname]:"symmmm"};
814514f5e3Sopenharmony_ciprint(object[firstname]);
824514f5e3Sopenharmony_ciprint(object.u231mk3);
834514f5e3Sopenharmony_ciprint(object.wodejn5);
844514f5e3Sopenharmony_ciprint(object.wewnde8);
854514f5e3Sopenharmony_ciprint(object.wode10);
864514f5e3Sopenharmony_ciprint(object.u231mk3);
874514f5e3Sopenharmony_ciprint(object[firstname]);
884514f5e3Sopenharmony_ciprint(object.hhh);
894514f5e3Sopenharmony_ciprint(object.hhh);
904514f5e3Sopenharmony_ciObject.defineProperty(object, "deffff", {
914514f5e3Sopenharmony_ci    value: object.wode4,
924514f5e3Sopenharmony_ci    writable:false,
934514f5e3Sopenharmony_ci    enumerable:true
944514f5e3Sopenharmony_ci})
954514f5e3Sopenharmony_ciprint(object.deffff);
964514f5e3Sopenharmony_ciobject.fff = "haode";
974514f5e3Sopenharmony_ciprint(object.fff);