1e509ee18Sopenharmony_ci/* 2e509ee18Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 3e509ee18Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e509ee18Sopenharmony_ci * you may not use this file except in compliance with the License. 5e509ee18Sopenharmony_ci * You may obtain a copy of the License at 6e509ee18Sopenharmony_ci * 7e509ee18Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e509ee18Sopenharmony_ci * 9e509ee18Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e509ee18Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e509ee18Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e509ee18Sopenharmony_ci * See the License for the specific language governing permissions and 13e509ee18Sopenharmony_ci * limitations under the License. 14e509ee18Sopenharmony_ci */ 15e509ee18Sopenharmony_ci 16e509ee18Sopenharmony_civar o = { 17e509ee18Sopenharmony_ci "foo": function () { 18e509ee18Sopenharmony_ci var number0 = 1; 19e509ee18Sopenharmony_ci var string0 = "helloworld"; 20e509ee18Sopenharmony_ci var boolean0 = false; 21e509ee18Sopenharmony_ci var obj0 = { 22e509ee18Sopenharmony_ci "key0": "value0", 23e509ee18Sopenharmony_ci "key1": 100 24e509ee18Sopenharmony_ci }; 25e509ee18Sopenharmony_ci var undefined0 = undefined; 26e509ee18Sopenharmony_ci var null0 = null; 27e509ee18Sopenharmony_ci var symbol0 = Symbol("symbol0"); 28e509ee18Sopenharmony_ci function function0() { 29e509ee18Sopenharmony_ci var test = 0; 30e509ee18Sopenharmony_ci } 31e509ee18Sopenharmony_ci var date0 = new Date('December 17, 1995 03:24:00'); 32e509ee18Sopenharmony_ci var map0 = new Map(); 33e509ee18Sopenharmony_ci var set0 = new Set(); 34e509ee18Sopenharmony_ci let array0 = ['Apple', 'Banana']; 35e509ee18Sopenharmony_ci function* generator0() { 36e509ee18Sopenharmony_ci let aa = 0; 37e509ee18Sopenharmony_ci var a1 = 100; 38e509ee18Sopenharmony_ci yield 1; 39e509ee18Sopenharmony_ci yield 2; 40e509ee18Sopenharmony_ci yield 3; 41e509ee18Sopenharmony_ci } 42e509ee18Sopenharmony_ci var regexp0 = /^\d+\.\d+$/i; 43e509ee18Sopenharmony_ci var arraybuffer0 = new ArrayBuffer(24); 44e509ee18Sopenharmony_ci var uint8array0 = new Uint8Array(arraybuffer0); 45e509ee18Sopenharmony_ci const dataview0 = new DataView(arraybuffer0, 0); 46e509ee18Sopenharmony_ci var bigint0 = BigInt(999n); 47e509ee18Sopenharmony_ci var typedarray0 = new Uint8Array(); 48e509ee18Sopenharmony_ci var sharedarraybuffer0 = new SharedArrayBuffer(32); 49e509ee18Sopenharmony_ci var iterator0 = string0[Symbol.iterator]; 50e509ee18Sopenharmony_ci var weakref0 = new WeakRef(obj0); 51e509ee18Sopenharmony_ci 52e509ee18Sopenharmony_ci var set1 = new Set(); 53e509ee18Sopenharmony_ci set1.add(number0); 54e509ee18Sopenharmony_ci var set2 = new Set(string0); 55e509ee18Sopenharmony_ci var set3 = new Set(); 56e509ee18Sopenharmony_ci set3.add(obj0); 57e509ee18Sopenharmony_ci var set4 = new Set(undefined0); 58e509ee18Sopenharmony_ci var set5 = new Set(array0); 59e509ee18Sopenharmony_ci var set6 = new Set(); 60e509ee18Sopenharmony_ci var set7 = new Set(); 61e509ee18Sopenharmony_ci var set8 = new Set(); 62e509ee18Sopenharmony_ci set8.add(generator0); 63e509ee18Sopenharmony_ci var set9 = new Set(); 64e509ee18Sopenharmony_ci set9.add(regexp0); 65e509ee18Sopenharmony_ci var set10 = new Set(); 66e509ee18Sopenharmony_ci set10.add(arraybuffer0); 67e509ee18Sopenharmony_ci var set11 = new Set(); 68e509ee18Sopenharmony_ci set11.add(uint8array0); 69e509ee18Sopenharmony_ci var set12 = new Set(); 70e509ee18Sopenharmony_ci set12.add(dataview0); 71e509ee18Sopenharmony_ci var set13 = new Set(); 72e509ee18Sopenharmony_ci set13.add(function0); 73e509ee18Sopenharmony_ci var set14 = set0; 74e509ee18Sopenharmony_ci var set15 = new Set(); 75e509ee18Sopenharmony_ci set15.add(0); 76e509ee18Sopenharmony_ci set15.add("hello"); 77e509ee18Sopenharmony_ci set15.add(obj0); 78e509ee18Sopenharmony_ci set15.add(number0); 79e509ee18Sopenharmony_ci var set16 = new Set(); 80e509ee18Sopenharmony_ci set16.add(map0); 81e509ee18Sopenharmony_ci var set17 = new Set(); 82e509ee18Sopenharmony_ci set17.add(bigint0); 83e509ee18Sopenharmony_ci var set18 = new Set(); 84e509ee18Sopenharmony_ci set18.add(boolean0); 85e509ee18Sopenharmony_ci var set19 = new Set(set0); 86e509ee18Sopenharmony_ci 87e509ee18Sopenharmony_ci var number1 = 65535; 88e509ee18Sopenharmony_ci var number2 = 5e-324; 89e509ee18Sopenharmony_ci var number3 = 10 ** 10; 90e509ee18Sopenharmony_ci var number4 = 0x1ffffffffff; 91e509ee18Sopenharmony_ci var number5 = 0b11111111111111; 92e509ee18Sopenharmony_ci var number6 = new Number(bigint0); 93e509ee18Sopenharmony_ci var number7 = 123e45; 94e509ee18Sopenharmony_ci var number8 = number0; 95e509ee18Sopenharmony_ci var number9 = number0 + number1; 96e509ee18Sopenharmony_ci var number10 = number0 - number1; 97e509ee18Sopenharmony_ci var number11 = number0 * number1; 98e509ee18Sopenharmony_ci var number12 = number0 / number1; 99e509ee18Sopenharmony_ci var number13 = number0 % number1; 100e509ee18Sopenharmony_ci var number14 = new Number(0); 101e509ee18Sopenharmony_ci var number15 = new Number(1.7976931348623157e+308); 102e509ee18Sopenharmony_ci var number16 = new Number(5e-324); 103e509ee18Sopenharmony_ci var number17 = new Number(10 ** 10); 104e509ee18Sopenharmony_ci var number18 = new Number(0x1ffffffffff); 105e509ee18Sopenharmony_ci var number19 = new Number(0b11111111111111); 106e509ee18Sopenharmony_ci var number20 = new Number(123e45); 107e509ee18Sopenharmony_ci var number21 = new Number(number0); 108e509ee18Sopenharmony_ci var number22 = new Number(number0 + number1); 109e509ee18Sopenharmony_ci var number23 = new Number(number0 - number1); 110e509ee18Sopenharmony_ci var number24 = new Number(number0 * number1); 111e509ee18Sopenharmony_ci var number25 = new Number(number0 / number1); 112e509ee18Sopenharmony_ci var number26 = new Number(number0 % number1); 113e509ee18Sopenharmony_ci var number27 = 1.7976931348623157e+308; 114e509ee18Sopenharmony_ci 115e509ee18Sopenharmony_ci var string1 = ""; 116e509ee18Sopenharmony_ci var string2 = string1; 117e509ee18Sopenharmony_ci var string3 = string1 + 'world'; 118e509ee18Sopenharmony_ci var string4 = 'hello' + 'world'; 119e509ee18Sopenharmony_ci var string5 = string4.charAt(1); 120e509ee18Sopenharmony_ci var string6 = string1 + number0; 121e509ee18Sopenharmony_ci var string7 = new String(string1); 122e509ee18Sopenharmony_ci var string8 = new String(set0); 123e509ee18Sopenharmony_ci var string9 = new String(number0); 124e509ee18Sopenharmony_ci var string10 = new String(string0); 125e509ee18Sopenharmony_ci var string11 = new String(obj0); 126e509ee18Sopenharmony_ci var string12 = new String(undefined0); 127e509ee18Sopenharmony_ci var string13 = new String(array0); 128e509ee18Sopenharmony_ci var string14 = new String(bigint0); 129e509ee18Sopenharmony_ci var string15 = new String(generator0); 130e509ee18Sopenharmony_ci var string16 = new String(regexp0); 131e509ee18Sopenharmony_ci var string17 = new String(arraybuffer0); 132e509ee18Sopenharmony_ci var string18 = new String(uint8array0); 133e509ee18Sopenharmony_ci var string19 = new String(dataview0); 134e509ee18Sopenharmony_ci var string20 = new String(map0); 135e509ee18Sopenharmony_ci var string21 = new String(function0); 136e509ee18Sopenharmony_ci 137e509ee18Sopenharmony_ci var bigint1 = BigInt(9007199254740991n); 138e509ee18Sopenharmony_ci var bigint2 = BigInt(9007199254740991); 139e509ee18Sopenharmony_ci var bigint3 = BigInt("9007199254740991"); 140e509ee18Sopenharmony_ci var bigint4 = BigInt("0x1fffffffffffff"); 141e509ee18Sopenharmony_ci var bigint5 = BigInt(0x1fffffffffffff); 142e509ee18Sopenharmony_ci var bigint6 = BigInt("0b11111111111111111111111111111111111111111111111111111"); 143e509ee18Sopenharmony_ci var bigint7 = bigint0; 144e509ee18Sopenharmony_ci var bigint8 = bigint0 + bigint1; 145e509ee18Sopenharmony_ci var bigint9 = bigint0 - bigint1; 146e509ee18Sopenharmony_ci var bigint10 = bigint0 * bigint1; 147e509ee18Sopenharmony_ci var bigint11 = bigint0 / bigint1; 148e509ee18Sopenharmony_ci var bigint12 = bigint0 % bigint1; 149e509ee18Sopenharmony_ci var bigint13 = 10n ** 10n; 150e509ee18Sopenharmony_ci var bigint14 = 888888888888888888888888888888888888888888888n; 151e509ee18Sopenharmony_ci var bigint15 = BigInt(0b11111111111111); 152e509ee18Sopenharmony_ci var bigint16 = BigInt(0); 153e509ee18Sopenharmony_ci var bigint17 = 0n; 154e509ee18Sopenharmony_ci var bigint18 = BigInt(123e45); 155e509ee18Sopenharmony_ci var bigint19 = BigInt("01234567"); 156e509ee18Sopenharmony_ci var bigint20 = BigInt(number1); 157e509ee18Sopenharmony_ci 158e509ee18Sopenharmony_ci var boolean1 = new Boolean(1); 159e509ee18Sopenharmony_ci var boolean2 = new Boolean(-1); 160e509ee18Sopenharmony_ci var boolean3 = new Boolean(true); 161e509ee18Sopenharmony_ci var boolean4 = new Boolean(false); 162e509ee18Sopenharmony_ci var boolean5 = new Boolean(boolean0 + boolean1); 163e509ee18Sopenharmony_ci var boolean6 = new Boolean(boolean0 && boolean1); 164e509ee18Sopenharmony_ci var boolean7 = new Boolean(boolean0 || boolean1); 165e509ee18Sopenharmony_ci var boolean8 = new Boolean(!boolean0); 166e509ee18Sopenharmony_ci var boolean9 = true; 167e509ee18Sopenharmony_ci var boolean10 = false; 168e509ee18Sopenharmony_ci var boolean11 = boolean0; 169e509ee18Sopenharmony_ci var boolean12 = boolean0 && boolean10; 170e509ee18Sopenharmony_ci var boolean13 = boolean0 || boolean10; 171e509ee18Sopenharmony_ci var boolean14 = !boolean10; 172e509ee18Sopenharmony_ci var boolean15 = new Boolean("hello"); 173e509ee18Sopenharmony_ci var boolean16 = new Boolean(""); 174e509ee18Sopenharmony_ci var boolean17 = new Boolean(function0); 175e509ee18Sopenharmony_ci var boolean18 = new Boolean(map0); 176e509ee18Sopenharmony_ci var boolean19 = new Boolean(set0); 177e509ee18Sopenharmony_ci var boolean20 = new Boolean(number0); 178e509ee18Sopenharmony_ci var boolean21 = new Boolean(string0); 179e509ee18Sopenharmony_ci var boolean22 = new Boolean(obj0); 180e509ee18Sopenharmony_ci var boolean23 = new Boolean(undefined0); 181e509ee18Sopenharmony_ci var boolean24 = new Boolean(array0); 182e509ee18Sopenharmony_ci var boolean25 = new Boolean(generator0); 183e509ee18Sopenharmony_ci var boolean26 = new Boolean(regexp0); 184e509ee18Sopenharmony_ci var boolean27 = new Boolean(arraybuffer0); 185e509ee18Sopenharmony_ci var boolean28 = new Boolean(uint8array0); 186e509ee18Sopenharmony_ci var boolean29 = new Boolean(dataview0); 187e509ee18Sopenharmony_ci 188e509ee18Sopenharmony_ci var map1 = new Map(map0); 189e509ee18Sopenharmony_ci var map2 = new Map([ 190e509ee18Sopenharmony_ci [1, 'hello'], 191e509ee18Sopenharmony_ci [2, 'world'] 192e509ee18Sopenharmony_ci ]); 193e509ee18Sopenharmony_ci var map3 = new Map(); 194e509ee18Sopenharmony_ci map3.set(NaN, 'NaN'); 195e509ee18Sopenharmony_ci var map4 = new Map(); 196e509ee18Sopenharmony_ci map4[0] = 'hello'; 197e509ee18Sopenharmony_ci var map5 = new Map(); 198e509ee18Sopenharmony_ci map5.set(0, 'zero'); 199e509ee18Sopenharmony_ci map5.set(1, 'one'); 200e509ee18Sopenharmony_ci map5.set(2, 'two'); 201e509ee18Sopenharmony_ci map5.set(3, 'three'); 202e509ee18Sopenharmony_ci var map6 = new Map(); 203e509ee18Sopenharmony_ci map6.set(set0, "set0"); 204e509ee18Sopenharmony_ci var map7 = new Map(); 205e509ee18Sopenharmony_ci map7.set(number0, "number0"); 206e509ee18Sopenharmony_ci var map8 = new Map(); 207e509ee18Sopenharmony_ci map8.set(string0, "string0"); 208e509ee18Sopenharmony_ci var map9 = new Map(); 209e509ee18Sopenharmony_ci map9.set(obj0, "object0"); 210e509ee18Sopenharmony_ci var map10 = new Map(); 211e509ee18Sopenharmony_ci map10.set(undefined0, "undefined0"); 212e509ee18Sopenharmony_ci var map11 = new Map(); 213e509ee18Sopenharmony_ci map11.set(array0, "array0"); 214e509ee18Sopenharmony_ci var map12 = new Map(); 215e509ee18Sopenharmony_ci map12.set(map3, "map3"); 216e509ee18Sopenharmony_ci var map13 = new Map(); 217e509ee18Sopenharmony_ci map13.set(generator0, "generator0"); 218e509ee18Sopenharmony_ci var map14 = new Map(); 219e509ee18Sopenharmony_ci map14.set(regexp0, "regexp0"); 220e509ee18Sopenharmony_ci var map15 = new Map(); 221e509ee18Sopenharmony_ci map15.set(arraybuffer0, "arraybuffer0"); 222e509ee18Sopenharmony_ci var map16 = new Map(); 223e509ee18Sopenharmony_ci map16.set(uint8array0, "uint8array0"); 224e509ee18Sopenharmony_ci var map17 = new Map(); 225e509ee18Sopenharmony_ci map17.set(dataview0, "dataview0"); 226e509ee18Sopenharmony_ci var map18 = new Map(); 227e509ee18Sopenharmony_ci map18.set(bigint10, "bigint10"); 228e509ee18Sopenharmony_ci var map19 = new Map(); 229e509ee18Sopenharmony_ci map19.set(function0, "function0"); 230e509ee18Sopenharmony_ci 231e509ee18Sopenharmony_ci var object1 = { 0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five' }; 232e509ee18Sopenharmony_ci var object2 = object1; 233e509ee18Sopenharmony_ci var object3 = new Object({ 0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five' }); 234e509ee18Sopenharmony_ci var object4 = new Object(set0); 235e509ee18Sopenharmony_ci var object5 = new Object(string0); 236e509ee18Sopenharmony_ci var object6 = new Object(map0); 237e509ee18Sopenharmony_ci var object7 = new Object(number0); 238e509ee18Sopenharmony_ci var object8 = new Object(obj0); 239e509ee18Sopenharmony_ci var object9 = new Object(undefined0); 240e509ee18Sopenharmony_ci var object10 = new Object(array0); 241e509ee18Sopenharmony_ci var object11 = new Object(bigint10); 242e509ee18Sopenharmony_ci var object12 = new Object(generator0); 243e509ee18Sopenharmony_ci var object13 = new Object(regexp0); 244e509ee18Sopenharmony_ci var object14 = new Object(bigint0); 245e509ee18Sopenharmony_ci var object15 = new Object(arraybuffer0); 246e509ee18Sopenharmony_ci var object16 = new Object(uint8array0); 247e509ee18Sopenharmony_ci var object17 = new Object(dataview0); 248e509ee18Sopenharmony_ci var object18 = new Object(boolean10); 249e509ee18Sopenharmony_ci var object19 = new Object(function0); 250e509ee18Sopenharmony_ci 251e509ee18Sopenharmony_ci var regExp1 = /^a/g; 252e509ee18Sopenharmony_ci var regExp2 = new RegExp('^ab+c', 'g'); 253e509ee18Sopenharmony_ci var regExp3 = /123$/; 254e509ee18Sopenharmony_ci var regExp4 = /\d/i; 255e509ee18Sopenharmony_ci var regExp5 = new RegExp('^[a-zA-Z]/w{5,17}$', 'iu'); 256e509ee18Sopenharmony_ci var regExp6 = /[A-Z]/m; 257e509ee18Sopenharmony_ci var regExp7 = new RegExp('(/d{3}-|/d{4}-)?(/d{8}|/d{7})?', 'mg'); 258e509ee18Sopenharmony_ci var regExp8 = /[a-z]/y; 259e509ee18Sopenharmony_ci var regExp9 = /\s/u; 260e509ee18Sopenharmony_ci var regExp10 = /a+/s; 261e509ee18Sopenharmony_ci var regExp11 = new RegExp('(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?', 's'); 262e509ee18Sopenharmony_ci var regExp12 = /a?/gy; 263e509ee18Sopenharmony_ci var regExp13 = new RegExp('/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/'); 264e509ee18Sopenharmony_ci var regExp14 = /a*/igmy; 265e509ee18Sopenharmony_ci var regExp15 = new RegExp('^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$', 'ig'); 266e509ee18Sopenharmony_ci var regExp16 = /a|b/iymsg; 267e509ee18Sopenharmony_ci var regExp17 = new RegExp('^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$'); 268e509ee18Sopenharmony_ci var regExp18 = /\/<(.*)>.*<\/\/\/1>|<(.*) \/\/>/i; 269e509ee18Sopenharmony_ci var regExp19 = new RegExp('^[1-9]*[1-9][0-9]*$', 'm'); 270e509ee18Sopenharmony_ci var regExp20 = /^[a-zA-Z]\/w{5,17}$/; 271e509ee18Sopenharmony_ci var regExp21 = new RegExp('^[0-9a-zA-Z_]{1,}$', 'u'); 272e509ee18Sopenharmony_ci 273e509ee18Sopenharmony_ci var target = { 274e509ee18Sopenharmony_ci name: "openharmony", 275e509ee18Sopenharmony_ci age: 3 276e509ee18Sopenharmony_ci }; 277e509ee18Sopenharmony_ci var handler = { 278e509ee18Sopenharmony_ci get(target, key) { 279e509ee18Sopenharmony_ci let result = target[key]; 280e509ee18Sopenharmony_ci if (key === "age") result += "岁"; 281e509ee18Sopenharmony_ci return result; 282e509ee18Sopenharmony_ci }, 283e509ee18Sopenharmony_ci set(target, key, value) { 284e509ee18Sopenharmony_ci if (key === "age" && typeof value !== "number") { 285e509ee18Sopenharmony_ci throw Error("age字段必须为Number类型"); 286e509ee18Sopenharmony_ci } 287e509ee18Sopenharmony_ci return Reflect.set(target, key, value); 288e509ee18Sopenharmony_ci } 289e509ee18Sopenharmony_ci }; 290e509ee18Sopenharmony_ci var { proxy, revoke } = Proxy.revocable(target, handler); 291e509ee18Sopenharmony_ci var proxy1 = new Proxy(target, handler); 292e509ee18Sopenharmony_ci var proxy2 = Proxy.revocable(target, handler); 293e509ee18Sopenharmony_ci 294e509ee18Sopenharmony_ci revoke(); 295e509ee18Sopenharmony_ci proxy2.revoke(); 296e509ee18Sopenharmony_ci 297e509ee18Sopenharmony_ci var promiseFulfilled = new Promise((resolve, reject) => { 298e509ee18Sopenharmony_ci let result = { 299e509ee18Sopenharmony_ci flag: true 300e509ee18Sopenharmony_ci } 301e509ee18Sopenharmony_ci if (result.flag == true) { 302e509ee18Sopenharmony_ci resolve(result); 303e509ee18Sopenharmony_ci } else { 304e509ee18Sopenharmony_ci reject(new Error("The promise is rejected")); 305e509ee18Sopenharmony_ci } 306e509ee18Sopenharmony_ci }); 307e509ee18Sopenharmony_ci var string22 = "\uD83D"; 308e509ee18Sopenharmony_ci var string23 = string22 + "\uDE42"; 309e509ee18Sopenharmony_ci var string24 = "\u{1F468}"; 310e509ee18Sopenharmony_ci var string25 = string24 + "\u200D\u{1F468}\u200D\u{1F467}\u200D\u{1F466}\u200D"; 311e509ee18Sopenharmony_ci print(string22); 312e509ee18Sopenharmony_ci print(string23); 313e509ee18Sopenharmony_ci print(string24); 314e509ee18Sopenharmony_ci print(string25); 315e509ee18Sopenharmony_ci 316e509ee18Sopenharmony_ci function resolveHandler(result) { 317e509ee18Sopenharmony_ci let a = promiseFulfilled; 318e509ee18Sopenharmony_ci print("promise is fulfilled with result.flag " + result.flag); 319e509ee18Sopenharmony_ci } 320e509ee18Sopenharmony_ci 321e509ee18Sopenharmony_ci function rejectHandler(error) { 322e509ee18Sopenharmony_ci print(error.message); 323e509ee18Sopenharmony_ci } 324e509ee18Sopenharmony_ci 325e509ee18Sopenharmony_ci promiseFulfilled.then(result => resolveHandler(result)).catch(error => rejectHandler(error)); 326e509ee18Sopenharmony_ci 327e509ee18Sopenharmony_ci var nop = undefined; 328e509ee18Sopenharmony_ci } 329e509ee18Sopenharmony_ci} 330e509ee18Sopenharmony_ci 331e509ee18Sopenharmony_cio.foo();