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);