tencent cloud

All product documents
Tencent Cloud Super App as a Service
JavaScript Support
Last updated: 2025-03-25 18:15:55
JavaScript Support
Last updated: 2025-03-25 18:15:55

Execution restrictions

For security reasons, mini games do not support dynamic execution of JavaScript code. Specifically:
eval is not supported for executing JavaScript code.
new Function is not supported for creating functions.

Standard ECMAScript support

The mini games JavaScript Runtime Environment varies across different platforms, leading to differences in ECMAScript standard support.
To minimize these differences, the mini game base library includes a core-js Polyfill. core-js can fill in the missing standard APIs in the platform environment.
However, it is important to note that differences in platform support for ECMAScript syntax cannot be completely smoothed out. When you need to use advanced syntax, such as async/await, you will need to enable the "ES6 to ES5 conversion" feature to support these syntaxes.

APIs that cannot be polyfill

The following APIs cannot be used in some older versions of the client, so it is advisable to avoid using them: Proxy objects.

Differences from the standards

Promise timing differences

Due to limitations of iOS JavaScriptCore, Promise in iOS 15 and below is a polyfill simulated using setTimeout. This means that tasks triggered by Promise are treated as regular tasks rather than microtasks, leading to timing differences from the standard on iOS 15 and below.
There are no such differences on iOS 16 and above.
var arr = []

setTimeout(() => arr.push(6), 0)
arr.push(1)
const p = new Promise(resolve => {
arr.push(2)
resolve()
})
arr.push(3)
p.then(() => arr.push(5))
arr.push(4)
setTimeout(() => arr.push(7), 0)

setTimeout(() => {
// Expected output: [1, 2, 3, 4, 5, 6, 7]
// On iOS 15 mini game environment, the output will be: [1, 2, 3, 4, 6, 5, 7]
console.log(arr)
}, 1000)
For more information on the difference between regular tasks and microtasks, you can refer to In depth: Microtasks and the JavaScript runtime environment.



Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon