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