tencent cloud

Tencent Cloud Super App as a Service

Release Notes and Announcements
Announcement: Tencent Cloud Mini Program Platform Renamed to Tencent Cloud Super App as a Service on January 2, 2025
Console Updates
Android SDK Updates
iOS SDK Updates
Flutter SDK Updates
IDE Updates
Base Library Updates
Product Introduction
Overview
Strengths
Use Cases
Purchase Guide
Billing Overview
Pay-As-You-Go Billing
Renewal Guide
Service Suspension Instructions
Getting Started
Plan Management
Overview
Console Account Management
Storage Configuration
Acceleration Configuration
Branding Configurations
Platform Features
Console Login
Users and Permission System
Mini Program Management
Mini Game Management
Superapp Management
Commercialization
Platform Management
User Management
Team Management
Operations Management
Security Center
Code Integration Guide
Getting Demo and SDK
Android
iOS
Flutter
Superapp Server
GUID Generation Rules
Mini Program Development Guide
Mini Program Introduction and Development Environment
Mini Program Code Composition
Guide
Framework
Components
API
Server Backend
JS SDK
Base Library
IDE Operation Instructions
Mini Game Development Guide
Guide
API
Server Backend
Practice Tutorial
Mini Program Login Practical Tutorial
Mini Program Subscription Message Practical Tutorial
Payment Practical Tutorial
Ad Integration Practical Tutorial
Mini Game Subscription Message Practical Tutorial
API Documentation
History
Introduction
API Category
Making API Requests
Operation Management APIs
User Management APIs
Team Management APIs
Sensitive API-Related APIs
Role Management APIs
Platform Management APIs
Other Console APIs
Mini Program or Mini Game APIs
Management-Sensitive APIs
Global Domain Management APIs
Superapp APIs
Data Types
Agreements
Service Level Agreement
Data Processing and Security Agreement
SDK Privacy Policy Module
SDK Data Processing and Security Agreement Module

JavaScript Support

PDF
Focus Mode
Font Size
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.




Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback