---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Suporte ao recurso do mecanismo JavaScript

# Suporte ao recurso do mecanismo JavaScript {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 37 min. de leitura

Compare os recursos do ECMAScript entre os modos JavaScript ECMAScript 2021 (ES12) e ES5 em Xanadu . Ambos os modos são compatíveis com um subconjunto de recursos do ECMAScript.
Para obter mais informações sobre esses recursos, consulte as especificações da linguagem ECMAScript (ECMA-262) no site da [Ecma International](https://www.ecma-international.org/).

## Definições de suporte {#javascript-engine-feature-support__section_hks_nhl_ntb}

Compatível
:   O recurso foi testado e validado.

Sem Suporte
:   O recurso não foi validado na versão atual.

Não permitido
:   O recurso não está alinhado com o modelo de programação Now Platform ou representa um risco à segurança ou ao desempenho. Recursos não permitidos resultam em erro.

## Recursos do ECMAScript 2022 (ES13) {#javascript-engine-feature-support__section_oxm_pnt_lvb}

Importante:  
Antes de implantar o código na produção, você deve testar completamente os scripts usando os recursos compatíveis do ECMAScript 2022 (ES13), devido ao suporte parcial e recém-adicionado de recursos nesta versão do ECMAScript.
{#javascript-engine-feature-support__table_pxm_pnt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| campos de classe de instância pública | Compatível | Sem Suporte |
| suporte básico de campos de classe de instância privada | Sem Suporte | Sem Suporte |
| inicializadores de campos de classe de instância privada | Sem Suporte | Sem Suporte |
| acesso aos campos de classe de instância privada opcional | Sem Suporte | Sem Suporte |
| acesso opcional a campos de classe de instância privada profunda | Sem Suporte | Sem Suporte |
| campos de classe de instância calculada | Compatível | Sem Suporte |
[Tabela 1. Campos de classe de instância]

{#javascript-engine-feature-support__table_pxm_pnt_lvb} {#javascript-engine-feature-support__table_qxm_pnt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| campos de classe estática pública | Compatível | Sem Suporte |
| campos de classe estática usam \[\[Define\]\] | Compatível | Sem Suporte |
| campos de classe estática privada | Compatível | Sem Suporte |
| campos de classe estática calculada | Compatível | Sem Suporte |
[Tabela 2. Campos de classe estática]

{#javascript-engine-feature-support__table_qxm_pnt_lvb} {#javascript-engine-feature-support__table_rxm_pnt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| métodos de instância privada | Sem Suporte | Sem Suporte |
| métodos estáticos privados | Compatível | Sem Suporte |
| propriedades do acessador privado | Sem Suporte | Sem Suporte |
| propriedades do acessador estático privado | Compatível | Sem Suporte |
[Tabela 3. Métodos de classe privada]

{#javascript-engine-feature-support__table_rxm_pnt_lvb} {#javascript-engine-feature-support__table_sxm_pnt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Array.prototype.at() | Sem Suporte | Sem Suporte |
| String.prototype.at() | Compatível | Sem Suporte |
| %TypedArray%.prototype.at() | Não permitido | Não permitido |
[Tabela 4. Método .at() nos indexáveis integrados]

{#javascript-engine-feature-support__table_sxm_pnt_lvb} {#javascript-engine-feature-support__table_txm_pnt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Funcionalidade básica | Compatível | Sem Suporte |
| ToObject chamado antes de ToPropertyKey | Compatível | Sem Suporte |
[Tabela 5. Objeto.temPróprio]

{#javascript-engine-feature-support__table_txm_pnt_lvb} {#javascript-engine-feature-support__table_asd_znt_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| O erro tem uma causa | Compatível | Sem Suporte |
| Error.prototype não tem causa | Compatível | Sem Suporte |
| EvalError tem causa | Compatível | Sem Suporte |
| EvalError.prototype não tem causa | Compatível | Sem Suporte |
| O erro de intervalo tem uma causa | Compatível | Sem Suporte |
| FaixaError.prototype não tem causa | Compatível | Sem Suporte |
| Erro de referência tem causa | Compatível | Sem Suporte |
| ReferenceError.prototype não tem causa | Compatível | Sem Suporte |
| SyntaxError tem causa | Compatível | Sem Suporte |
| SyntaxError.prototype não tem causa | Compatível | Sem Suporte |
| TypeError tem causa | Compatível | Sem Suporte |
| TypeError.prototype não tem causa | Compatível | Sem Suporte |
| O erro URI tem uma causa | Compatível | Sem Suporte |
| URIERror.prototype não tem causa | Compatível | Sem Suporte |
| AggregateError tem causa | Compatível | Sem Suporte |
| AggregateError.prototype não tem causa | Compatível | Sem Suporte |
[Tabela 6. Propriedade Error.cause]

{#javascript-engine-feature-support__table_asd_znt_lvb} {#javascript-engine-feature-support__table_tx1_14t_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| o construtor oferece suporte a ele | Sem Suporte | Sem Suporte |
| aparece em sinalizadores | Sem Suporte | Sem Suporte |
[Tabela 7. Índices de correspondência RegExp (sinalizador \`hasIndices\` / \`d\`)]

{#javascript-engine-feature-support__table_tx1_14t_lvb} {#javascript-engine-feature-support__table_cq2_c4t_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Verificações ergonômicas de marca para campos privados | Sem Suporte | Sem Suporte |
[Tabela 8. Verificações ergonômicas de marca para campos privados]

{#javascript-engine-feature-support__table_cq2_c4t_lvb} {#javascript-engine-feature-support__table_ahz_c4t_lvb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Blocos de inicialização estática de classe | Compatível | Sem Suporte |
[Tabela 9. Blocos de inicialização estática de classe]

{#javascript-engine-feature-support__table_ahz_c4t_lvb}

## ECMAScript 2021 (ES12) recursos {#javascript-engine-feature-support__section_l5v_2vc_wtb}

{#javascript-engine-feature-support__table_q3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| execução | Não permitido | Não permitido |
| Erro agregado | Não permitido | Não permitido |
[Tabela 10. Promessa.qualquer]

{#javascript-engine-feature-support__table_q3p_zvc_wtb} {#javascript-engine-feature-support__table_r3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Suporte mínimo para WeakRef | Não permitido | Não permitido |
| Suporte mínimo para FinalizationRegistry | Não permitido | Não permitido |
[Tabela 11. Referências Fracas]

{#javascript-engine-feature-support__table_r3p_zvc_wtb} {#javascript-engine-feature-support__table_s3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| \|\|= suporte básico | Compatível | Sem Suporte |
| \|\|= comportamento de curto- circuito | Compatível | Sem Suporte |
| \|\|= definidor não invocado desnecessariamente | Compatível | Sem Suporte |
| \&\&= suporte básico | Compatível | Sem Suporte |
| \&\&= comportamento de curto- circuito | Compatível | Sem Suporte |
| definidor \&\&= não invocado desnecessariamente | Compatível | Sem Suporte |
| ??= suporte básico | Compatível | Sem Suporte |
| ??= comportamento de curto- circuito | Compatível | Sem Suporte |
| ??= definidor não invocado desnecessariamente | Compatível | Sem Suporte |
[Tabela 12. Atribuição lógica]

{#javascript-engine-feature-support__table_s3p_zvc_wtb} {#javascript-engine-feature-support__table_j3r_bww_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| separadores numéricos | Compatível | Sem Suporte |
[Tabela 13. Separadores numéricos]

{#javascript-engine-feature-support__table_j3r_bww_f5b} {#javascript-engine-feature-support__table_zqg_dww_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| String.prototype.replaceAll | Compatível | Compatível |
[Tabela 14. String.prototype.replaceAll]

{#javascript-engine-feature-support__table_zqg_dww_f5b}

## Recursos do ECMAScript 2020 (ES11) {#javascript-engine-feature-support__section_zg4_2vc_wtb}

{#javascript-engine-feature-support__table_m3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| lança em regex não global | Compatível | Sem Suporte |
[Tabela 15. String.prototype.matchAll]

{#javascript-engine-feature-support__table_m3p_zvc_wtb} {#javascript-engine-feature-support__table_n3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Sem Suporte | Sem Suporte |
| construtor | Sem Suporte | Sem Suporte |
| BigInt.asUintN | Sem Suporte | Sem Suporte |
| BigInt.asIntN | Sem Suporte | Sem Suporte |
| BigInt64Array | Sem Suporte | Sem Suporte |
| BigUint64Array | Sem Suporte | Sem Suporte |
| DataView.prototype.getBigInt64 | Sem Suporte | Sem Suporte |
| DataView.prototype.getBigUint64 | Sem Suporte | Sem Suporte |
[Tabela 16. BigInt]

{#javascript-engine-feature-support__table_n3p_zvc_wtb} {#javascript-engine-feature-support__table_o3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| A propriedade global "globalEsta" é um objeto global | Não permitido | Não permitido |
| A propriedade global "globalEsta" tem o descritor de propriedade correto | Não permitido | Não permitido |
[Tabela 17. globalEste]

{#javascript-engine-feature-support__table_o3p_zvc_wtb} {#javascript-engine-feature-support__table_p3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| acesso à propriedade opcional | Compatível | Sem Suporte |
| acesso ao colchete opcional | Compatível | Sem Suporte |
| chamada de método opcional | Compatível | Sem Suporte |
| chamada de função opcional | Compatível | Sem Suporte |
| parâmetros de propagação após encadeamento opcional | Compatível | Sem Suporte |
[Tabela 18. Operador de encadeamento opcional (?.)]

{#javascript-engine-feature-support__table_p3p_zvc_wtb} {#javascript-engine-feature-support__table_qdy_rzw_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Promessa.tudoConsolidado | Não permitido | Não permitido |
[Tabela 19. Promessa.tudoConsolidado]

{#javascript-engine-feature-support__table_qdy_rzw_f5b} {#javascript-engine-feature-support__table_drg_szw_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| operador de aglutinação nullish (??) | Compatível | Sem Suporte |
[Tabela 20. Operador de aglutinação nulo (??)]

{#javascript-engine-feature-support__table_drg_szw_f5b}

## ECMAScript 2019 (ES10) recursos {#javascript-engine-feature-support__section_pbg_2vc_wtb}

{#javascript-engine-feature-support__table_g3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| básico | Compatível | Sem Suporte |
| descrição vazia | Compatível | Sem Suporte |
| descrição indefinida | Compatível | Sem Suporte |
[Tabela 21. Símbolo.protótipo.descrição]

{#javascript-engine-feature-support__table_g3p_zvc_wtb} {#javascript-engine-feature-support__table_h3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| String.prototype.trimLeft | Compatível | Compatível |
| String.prototype.trimRight | Compatível | Compatível |
| String.prototype.trimStart | Compatível | Sem Suporte |
| String.prototype.trimEnd | Compatível | Sem Suporte |
[Tabela 22. Corte de cadeia de caracteres]

{#javascript-engine-feature-support__table_h3p_zvc_wtb} {#javascript-engine-feature-support__table_i3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Array.prototype.flat | Compatível | Sem Suporte |
| Matriz.protótipo.Mapaplano | Compatível | Sem Suporte |
| plano e planoPlano em Array.prototype\[@@unscopables\] | Compatível | Sem Suporte |
[Tabela 23. Array.prototype.{flat, planoMap}]

{#javascript-engine-feature-support__table_i3p_zvc_wtb} {#javascript-engine-feature-support__table_zs2_51x_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.deEntradas | Compatível | Sem Suporte |
[Tabela 24. Objeto.deEntradas]

{#javascript-engine-feature-support__table_zs2_51x_f5b} {#javascript-engine-feature-support__table_j3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| básico | Não permitido | Não permitido |
| aguardar | Não permitido | Não permitido |
| rendimento | Não permitido | Não permitido |
[Tabela 25. Vinculação de captura opcional]

{#javascript-engine-feature-support__table_j3p_zvc_wtb} {#javascript-engine-feature-support__table_k3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funções criadas com o construtor Function | Não permitido | Não permitido |
| setas | Não permitido | Não permitido |
| \[código nativo\] | Não permitido | Não permitido |
| expressão de classe com construtor implícito | Não permitido | Não permitido |
| expressão de classe com construtor explícito | Não permitido | Não permitido |
| sequências de escape unicode em identificadores | Não permitido | Não permitido |
| métodos e nomes de propriedade calculada | Não permitido | Não permitido |
[Tabela 26. Revisão de Function.prototype.toString]

{#javascript-engine-feature-support__table_k3p_zvc_wtb} {#javascript-engine-feature-support__table_l3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| O separador de linhas pode aparecer em cadeias de caracteres literais | Não permitido | Não permitido |
| O separador de parágrafo pode aparecer em cadeias de caracteres literais | Não permitido | Não permitido |
[Tabela 27. Superconjunto JSON]

{#javascript-engine-feature-support__table_l3p_zvc_wtb} {#javascript-engine-feature-support__table_zlh_51x_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| JSON.stringify bem formado | Não permitido | Não permitido |
[Tabela 28. JSON.stringify bem formado]

{#javascript-engine-feature-support__table_zlh_51x_f5b}

## ECMAScript 2018 (ES9) recursos {#javascript-engine-feature-support__section_hlx_dvc_wtb}

{#javascript-engine-feature-support__table_d3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| propriedades de REST de objeto | Compatível | Sem Suporte |
| propriedades de propagação de objeto | Compatível | Sem Suporte |
[Tabela 29. Propriedades de rest/spread do objeto]

{#javascript-engine-feature-support__table_d3p_zvc_wtb} {#javascript-engine-feature-support__table_e3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| suporte básico | Não permitido | Não permitido |
| não mude o valor de resolução | Não permitido | Não permitido |
| mudar valor de rejeição | Não permitido | Não permitido |
[Tabela 30. Promessa.protótipo.finalmente]

{#javascript-engine-feature-support__table_e3p_zvc_wtb} {#javascript-engine-feature-support__table_f3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| geradores assíncronos | Não permitido | Não permitido |
| Loops for-await-of | Não permitido | Não permitido |
[Tabela 31. Iteradores assíncronos]

{#javascript-engine-feature-support__table_f3p_zvc_wtb} {#javascript-engine-feature-support__table_o35_gpk_g5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Sinalizador s (dotAll) para expressões regulares | Compatível | Sem Suporte |
[Tabela 32. Sinalizador s (dotAll) para expressões regulares]

{#javascript-engine-feature-support__table_o35_gpk_g5b} {#javascript-engine-feature-support__table_g15_hpk_g5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Grupos de captura nomeados RegExp | Compatível | Sem Suporte |
[Tabela 33. Grupos de captura nomeados RegExp]

{#javascript-engine-feature-support__table_g15_hpk_g5b} {#javascript-engine-feature-support__table_dbw_3pk_g5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Asserções de Lookbehind de RegExp | Sem Suporte | Sem Suporte |
[Tabela 34. Asserções de Lookbehind de RegExp]

{#javascript-engine-feature-support__table_dbw_3pk_g5b} {#javascript-engine-feature-support__table_cs2_kpk_g5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Escapes de propriedade Unicode RegExp | Sem Suporte | Sem Suporte |
[Tabela 35. Escapes de propriedade Unicode RegExp]

{#javascript-engine-feature-support__table_cs2_kpk_g5b} {#javascript-engine-feature-support__table_jkm_pxc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| revisão literal do modelo | Não permitido | Não permitido |
[Tabela 36. Revisão literal do modelo]

{#javascript-engine-feature-support__table_jkm_pxc_wtb}

## ECMAScript 2017 (ES8) recursos {#javascript-engine-feature-support__section_hhg_dvc_wtb}

{#javascript-engine-feature-support__table_xhp_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.valores | Compatível | Sem Suporte |
| Objeto.entradas | Compatível | Sem Suporte |
| Object.getOwnPropertyDescriptors | Compatível | Sem Suporte |
| Object.getOwnPropertyDescriptors não fornece descritores indefinidos | Sem Suporte | Sem Suporte |
[Tabela 37. Métodos estáticos de objeto]

{#javascript-engine-feature-support__table_xhp_zvc_wtb} {#javascript-engine-feature-support__table_yhp_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| String.prototype.padStart | Compatível | Sem Suporte |
| String.prototype.padEnd | Compatível | Sem Suporte |
[Tabela 38. Preenchimento de cadeia de caracteres]

{#javascript-engine-feature-support__table_yhp_zvc_wtb} {#javascript-engine-feature-support__table_zhp_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| em listas de parâmetros | Compatível | Sem Suporte |
| em listas de argumentos | Compatível | Sem Suporte |
[Tabela 39. Vírgulas à direita na sintaxe da função]

{#javascript-engine-feature-support__table_zhp_zvc_wtb} {#javascript-engine-feature-support__table_a3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| retornar | Não permitido | Não permitido |
| throw | Não permitido | Não permitido |
| nenhuma quebra de linha entre assíncrono e função | Não permitido | Não permitido |
| nenhuma propriedade de "protótipo" | Não permitido | Não permitido |
| aguardar | Não permitido | Não permitido |
| aguardar, rejeição | Não permitido | Não permitido |
| deve aguardar um valor | Não permitido | Não permitido |
| pode aguardar valores não-prometido | Não permitido | Não permitido |
| não pode aguardar nos parâmetros | Não permitido | Não permitido |
| métodos assíncronos, literais de objeto | Não permitido | Não permitido |
| métodos assíncronos, classes | Não permitido | Não permitido |
| funções de seta assíncronas em métodos, classes | Não permitido | Não permitido |
| funções de seta assíncronas | Não permitido | Não permitido |
| cadeia de prototipação correta | Não permitido | Não permitido |
| Protótipo de função assíncrona, Símbolo.toStringTag | Não permitido | Não permitido |
| construtor de função assíncrona | Não permitido | Não permitido |
[Tabela 40. Funções assíncronas]

{#javascript-engine-feature-support__table_a3p_zvc_wtb} {#javascript-engine-feature-support__table_cc2_swc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| SharedArrayBuffer | Não permitido | Não permitido |
| SharedArrayBuffer\[Symbol.species\] | Não permitido | Não permitido |
| SharedArrayBuffer.prototype.byteLength | Não permitido | Não permitido |
| SharedArrayBuffer.prototype.slice | Não permitido | Não permitido |
| SharedArrayBuffer.prototype\[Symbol.toStringTag\] | Não permitido | Não permitido |
| Atomics.adicionar | Não permitido | Não permitido |
| Atomics.and | Não permitido | Não permitido |
| Atomics.compareExchange | Não permitido | Não permitido |
| Atomics.câmbio | Não permitido | Não permitido |
| Atomics.aguardar | Não permitido | Não permitido |
| Atomics.ativar | Não permitido | Não permitido |
| Atomics.isLockFree | Não permitido | Não permitido |
| Atomics.load | Não permitido | Não permitido |
| Atomics.ou | Não permitido | Não permitido |
| Atomics.store | Não permitido | Não permitido |
| Atomics.sub | Não permitido | Não permitido |
| Atomics.xor | Não permitido | Não permitido |
[Tabela 41. Memória compartilhada e atômica]

{#javascript-engine-feature-support__table_cc2_swc_wtb} {#javascript-engine-feature-support__table_b3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| __defineGetter__ | Não permitido | Não permitido |
| __defineGetter__, símbolos | Não permitido | Não permitido |
| __defineGetter__, ToObject(este) | Não permitido | Não permitido |
| __defineSetter__ | Não permitido | Não permitido |
| __defineSetter__, símbolos | Não permitido | Não permitido |
| __defineSetter__, ToObject(este) | Não permitido | Não permitido |
| __lookupGetter__ | Não permitido | Não permitido |
| __lookupGetter__, cadeia de prototipos | Não permitido | Não permitido |
| __lookupGetter__, símbolos | Não permitido | Não permitido |
| __lookupGetter__, ToObject(este) | Não permitido | Não permitido |
| __lookupGetter__, propriedades de dados podem ocultar acessadores | Não permitido | Não permitido |
| __lookupSetter__ | Não permitido | Não permitido |
| __lookupSetter__, cadeia de prototipos | Não permitido | Não permitido |
| __lookupSetter__, símbolos | Não permitido | Não permitido |
| __lookupSetter__, ToObject(este) | Não permitido | Não permitido |
| __lookupSetter__, propriedades de dados podem ocultar acessadores | Não permitido | Não permitido |
[Tabela 42. Métodos getter/setter de Object.prototype]

{#javascript-engine-feature-support__table_b3p_zvc_wtb} {#javascript-engine-feature-support__table_c3p_zvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| __defineGetter__ | Não permitido | Não permitido |
| __defineSetter__ | Não permitido | Não permitido |
| __lookupGetter__ | Não permitido | Não permitido |
| __lookupSetter__ | Não permitido | Não permitido |
[Tabela 43. Chamadas internas de proxy, métodos getter/setter]

{#javascript-engine-feature-support__table_c3p_zvc_wtb}

## ECMAScript 2016 (ES7) recursos {#javascript-engine-feature-support__section_jkm_j2n_4tb}

{#javascript-engine-feature-support__table_eqm_r3n_4tb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| suporte básico | Compatível | Sem Suporte |
| atribuição | Compatível | Sem Suporte |
| erro de sintaxe antecipado para negação unária sem parênteses | Não permitido | Não permitido |
[Tabela 44. Operador de exponenciação (\*\*)]

{#javascript-engine-feature-support__table_eqm_r3n_4tb} {#javascript-engine-feature-support__table_d1n_53n_4tb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Matriz.protótipo.inclui | Compatível | Sem Suporte |
| Array.prototype.includes é genérico | Sem Suporte | Sem Suporte |
| %TypedArray%.prototype.includes | Não permitido | Não permitido |
[Tabela 45. Matriz.protótipo.inclui]

{#javascript-engine-feature-support__table_d1n_53n_4tb}

## ECMAScript 2015 (ES6) recursos {#javascript-engine-feature-support__section_uk3_bvc_wtb}

{#javascript-engine-feature-support__table_vk3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| recursão direta | Não permitido | Não permitido |
| recursão mútua | Não permitido | Não permitido |
[Tabela 46. Chamadas finais apropriadas (otimização de chamadas finais)]

{#javascript-engine-feature-support__table_vk3_bvc_wtb} {#javascript-engine-feature-support__table_wk3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| adiamentos indefinidos explícitos para o padrão | Compatível | Sem Suporte |
| os padrões podem se referir a parâmetros anteriores | Compatível | Sem Suporte |
| interação de objeto de argumentos | Compatível | Sem Suporte |
| zona morta temporal | Não permitido | Não permitido |
| escopo separado | Compatível | Sem Suporte |
| novo suporte a função () | Não permitido | Não permitido |
[Tabela 47. Parâmetros de função padrão]

{#javascript-engine-feature-support__table_wk3_bvc_wtb} {#javascript-engine-feature-support__table_xk3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| propriedade de 'comprimento' da função | Compatível | Sem Suporte |
| interação de objeto de argumentos | Sem Suporte | Sem Suporte |
| não pode ser usado em setters | Não permitido | Não permitido |
| novo suporte a função () | Não permitido | Não permitido |
[Tabela 48. Parâmetros REST]

{#javascript-engine-feature-support__table_xk3_bvc_wtb} {#javascript-engine-feature-support__table_yk3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| com matrizes, em chamadas de função | Compatível | Sem Suporte |
| com matrizes, em literais de matriz | Compatível | Sem Suporte |
| com matrizes esparsas, em chamadas de função | Com suporte | Sem Suporte |
| com matrizes esparsas, em literais de matriz | Compatível | Sem Suporte |
| com cadeias de caracteres, em chamadas de função | Com suporte | Sem Suporte |
| com cadeias de caracteres, em literais de matriz | Compatível | Sem Suporte |
| com cadeias de caracteres do plano astral, em chamadas de função | Com suporte | Sem Suporte |
| com cadeias de caracteres do plano astral, em literais de matriz | Compatível | Sem Suporte |
| com instâncias de gerador, em chamadas | Não permitido | Não permitido |
| com instâncias de gerador, em matrizes | Não permitido | Não permitido |
| com iteráveis genéricos, em chamadas | Compatível | Sem Suporte |
| com iteráveis genéricos, em matrizes | Compatível | Sem Suporte |
| com instâncias de iteráveis, em chamadas | Compatível | Sem Suporte |
| com instâncias de iteráveis, em matrizes | Compatível | Sem Suporte |
| distribuir não iteráveis é um erro de tempo de execução | Com suporte | Sem Suporte |
[Tabela 49. Sintaxe de propagação para objetos iteráveis]

{#javascript-engine-feature-support__table_yk3_bvc_wtb} {#javascript-engine-feature-support__table_zk3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| propriedades calculadas | Compatível | Sem Suporte |
| propriedades abreviadas | Compatível | Sem Suporte |
| métodos abreviados | Compatível | Sem Suporte |
| métodos abreviados de cadeia de caracteres | Compatível | Sem Suporte |
| métodos abreviados calculados | Compatível | Sem Suporte |
| acessadores calculados | Compatível | Sem Suporte |
[Tabela 50. Extensões literais de objeto]

{#javascript-engine-feature-support__table_zk3_bvc_wtb} {#javascript-engine-feature-support__table_al3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| com matrizes | Compatível | Sem Suporte |
| com matrizes esparsas | Compatível | Sem Suporte |
| com cadeias de caracteres | Compatível | Sem Suporte |
| com cadeias de caracteres de plano astral | Compatível | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Compatível | Sem Suporte |
| com instâncias de iteráveis genéricos | Compatível | Sem Suporte |
| fechamento do iterador, pausa | Compatível | Sem Suporte |
| fechamento do iterador, lançamento | Compatível | Sem Suporte |
[Tabela 51. Loops para-de]

{#javascript-engine-feature-support__table_al3_bvc_wtb} {#javascript-engine-feature-support__table_bl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Literais octais | Compatível | Sem Suporte |
| Literais binários | Compatível | Sem Suporte |
| octal compatível com Number() | Sem Suporte | Sem Suporte |
| binário compatível com Number() | Sem Suporte | Sem Suporte |
[Tabela 52. Literais octais e binários]

{#javascript-engine-feature-support__table_bl3_bvc_wtb} {#javascript-engine-feature-support__table_cl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| Conversão de toString | Compatível | Sem Suporte |
| literais de modelo marcado | Compatível | Sem Suporte |
| a matriz passada está congelada | Compatível | Sem Suporte |
| normalização de quebra de linha | Não permitido | Não permitido |
| Cache do site de chamada TemplateStrings | Compatível | Sem Suporte |
| Cache permanente de TemplateStrings | Compatível | Sem Suporte |
[Tabela 53. Literais do modelo]

{#javascript-engine-feature-support__table_cl3_bvc_wtb} {#javascript-engine-feature-support__table_dl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Sinalizador "y" | Compatível | Sem Suporte |
| Sinalizador "y", lastIndex | Compatível | Sem Suporte |
| Sinalizador "u" | Sem Suporte | Sem Suporte |
| Sinalizador "u", caracteres Unicode não BMP | Sem Suporte | Sem Suporte |
| Sinalizador "u", pontos de código Unicode escapam | Sem Suporte | Sem Suporte |
| Sinalizador "u", dobra de caso | Sem Suporte | Sem Suporte |
[Tabela 54. Sinalizadores RegExp "y" e "u"]

{#javascript-engine-feature-support__table_dl3_bvc_wtb} {#javascript-engine-feature-support__table_el3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| com matrizes | Compatível | Sem Suporte |
| com matrizes esparsas | Compatível | Sem Suporte |
| com cadeias de caracteres | Compatível | Sem Suporte |
| com cadeias de caracteres de plano astral | Compatível | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Compatível | Sem Suporte |
| com instâncias de iteráveis genéricos | Compatível | Sem Suporte |
| fechamento do iterador | Compatível | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Compatível | Sem Suporte |
| com objetos | Compatível | Sem Suporte |
| desestruturação de objeto com elementos primitivos | Compatível | Sem Suporte |
| vírgulas à direita em padrões de objeto | Compatível | Sem Suporte |
| inicia nulo e indefinido | Compatível | Sem Suporte |
| propriedades calculadas | Compatível | Sem Suporte |
| múltiplos em uma única declaração de variável | Compatível | Sem Suporte |
| aninhado | Compatível | Sem Suporte |
| cabeçalhos de loop em para-in | Compatível | Sem Suporte |
| em cabeçalhos de loop for-of | Compatível | Sem Suporte |
| em cabeçalhos de captura | Compatível | Sem Suporte |
| REST | Compatível | Sem Suporte |
| padrões | Compatível | Sem Suporte |
| padrões, deixar zona morta temporal | Não permitido | Não permitido |
[Tabela 55. Destruição, declarações]

{#javascript-engine-feature-support__table_el3_bvc_wtb} {#javascript-engine-feature-support__table_fl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| com matrizes | Compatível | Sem Suporte |
| com matrizes esparsas | Compatível | Sem Suporte |
| com cadeias de caracteres | Compatível | Sem Suporte |
| com cadeias de caracteres de plano astral | Compatível | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Compatível | Sem Suporte |
| com instâncias de iteráveis genéricos | Compatível | Sem Suporte |
| fechamento do iterador | Compatível | Sem Suporte |
| expressão de desestruturação iterável | Compatível | Sem Suporte |
| desestruturação iterável encadeada | Compatível | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Compatível | Sem Suporte |
| com objetos | Compatível | Sem Suporte |
| desestruturação de objeto com elementos primitivos | Compatível | Sem Suporte |
| vírgulas à direita em padrões de objeto | Compatível | Sem Suporte |
| expressão de desestruturação de objeto | Compatível | Sem Suporte |
| entre parênteses do lado esquerdo é um erro de sintaxe | Não permitido | Não permitido |
| desestruturação de objeto encadeado | Compatível | Sem Suporte |
| inicia nulo e indefinido | Compatível | Sem Suporte |
| propriedades calculadas | Compatível | Sem Suporte |
| aninhado | Compatível | Sem Suporte |
| REST | Compatível | Sem Suporte |
| rest aninhado | Compatível | Sem Suporte |
| padrões vazios | Compatível | Sem Suporte |
| padrões | Compatível | Sem Suporte |
[Tabela 56. Desestruturação, atribuição]

{#javascript-engine-feature-support__table_fl3_bvc_wtb} {#javascript-engine-feature-support__table_gl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| com matrizes | Compatível | Sem Suporte |
| com matrizes esparsas | Compatível | Sem Suporte |
| com cadeias de caracteres | Compatível | Sem Suporte |
| com cadeias de caracteres de plano astral | Compatível | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Compatível | Sem Suporte |
| com instâncias de iteráveis genéricos | Compatível | Sem Suporte |
| fechamento do iterador | Compatível | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Compatível | Sem Suporte |
| com objetos | Compatível | Sem Suporte |
| desestruturação de objeto com elementos primitivos | Compatível | Sem Suporte |
| vírgulas à direita em padrões de objeto | Compatível | Sem Suporte |
| inicia nulo e indefinido | Compatível | Sem Suporte |
| propriedades calculadas | Compatível | Sem Suporte |
| aninhado | Compatível | Sem Suporte |
| interação de "argumentos" | Compatível | Sem Suporte |
| novo suporte a função () | Não permitido | Não permitido |
| em parâmetros, propriedade de "comprimento" da função | Compatível | Sem Suporte |
| REST | Compatível | Sem Suporte |
| padrões vazios | Compatível | Sem Suporte |
| padrões | Compatível | Sem Suporte |
| padrões, escopo separado | Compatível | Sem Suporte |
| padrões, novo suporte a função () | Não permitido | Não permitido |
| padrões de alias, função de seta | Compatível | Sem Suporte |
| padrões de taquigrafia, função de seta | Compatível | Sem Suporte |
| identificador duplicado | Não permitido | Não permitido |
[Tabela 57. Desestruturando, parâmetros]

{#javascript-engine-feature-support__table_gl3_bvc_wtb} {#javascript-engine-feature-support__table_hl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| em cadeias de caracteres | Compatível | Sem Suporte |
| em identificadores | Sem Suporte | Sem Suporte |
| em definições de chave de propriedade | Sem Suporte | Sem Suporte |
| em acessos de chave de propriedade | Sem Suporte | Sem Suporte |
[Tabela 58. Escapes de ponto de código Unicode]

{#javascript-engine-feature-support__table_hl3_bvc_wtb} {#javascript-engine-feature-support__table_il3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| em construtores | Sem Suporte | Sem Suporte |
| atribuição é um erro inicial | Não permitido | Não permitido |
[Tabela 59. Novo.destino]

{#javascript-engine-feature-support__table_il3_bvc_wtb} {#javascript-engine-feature-support__table_jl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| suporte básico | Compatível | Compatível |
| tem escopo de bloco | Compatível | Sem Suporte |
| resolução de sombra do escopo | Compatível | Sem Suporte |
| não pode estar em declarações | Não permitido | Não permitido |
| redefinir uma const é um erro | Não permitido | Não permitido |
| escopo da instrução de loop for | Compatível | Sem Suporte |
| escopo de iteração de loop for-in | Compatível | Sem Suporte |
| escopo de iteração de loop for-of | Compatível | Sem Suporte |
| zona morta temporal | Sem Suporte | Sem Suporte |
| suporte básico (modo estrito) | Compatível | Compatível |
| tem escopo de bloco (modo estrito) | Compatível | Sem Suporte |
| resolução de sombra do escopo (modo estrito) | Compatível | Sem Suporte |
| não pode estar em declarações (modo estrito) | Não permitido | Não permitido |
| redefinindo uma const (modo estrito) | Não permitido | Não permitido |
| escopo da instrução de loop for (modo estrito) | Compatível | Sem Suporte |
| escopo de iteração de loop for-in (modo estrito) | Compatível | Sem Suporte |
| escopo de iteração de loop for-of (modo estrito) | Compatível | Sem Suporte |
| zona morta temporal (modo estrito) | Sem Suporte | Sem Suporte |
[Tabela 60. Const.]

{#javascript-engine-feature-support__table_jl3_bvc_wtb} {#javascript-engine-feature-support__table_kl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| suporte básico | Compatível | Sem Suporte |
| tem escopo de bloco | Compatível | Sem Suporte |
| resolução de sombra do escopo | Compatível | Sem Suporte |
| não pode estar em declarações | Não permitido | Não permitido |
| escopo da instrução de loop for | Compatível | Sem Suporte |
| zona morta temporal | Sem Suporte | Sem Suporte |
| escopo de iteração de loop for/for-in | Compatível | Sem Suporte |
| parâmetro de sombreamento de vinculação de loop for-in | Não permitido | Não permitido |
| suporte básico (modo estrito) | Compatível | Sem Suporte |
| tem escopo de bloco (modo estrito) | Compatível | Sem Suporte |
| resolução de sombra do escopo (modo estrito) | Compatível | Sem Suporte |
| não pode estar em declarações (modo estrito) | Não permitido | Não permitido |
| escopo da instrução de loop for (modo estrito) | Compatível | Sem Suporte |
| zona morta temporal (modo estrito) | Sem Suporte | Sem Suporte |
| escopo de iteração de loop for/for-in (modo estrito) | Compatível | Sem Suporte |
| parâmetro de sombreamento de vinculação de loop for-in (modo estrito) | Não permitido | Não permitido |
[Tabela 61. Permitir]

{#javascript-engine-feature-support__table_kl3_bvc_wtb} {#javascript-engine-feature-support__table_t55_r2x_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| declaração de função no nível de bloco | Compatível | Sem Suporte |
[Tabela 62. Declaração de função no nível de bloco]

{#javascript-engine-feature-support__table_t55_r2x_f5b} {#javascript-engine-feature-support__table_ll3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| 0 parâmetro | Compatível | Sem Suporte |
| 1 parâmetro, sem colchetes | Compatível | Sem Suporte |
| vários parâmetros | Compatível | Sem Suporte |
| vinculação lexical "esta" | Compatível | Sem Suporte |
| "este" inalterado por chamada ou aplicação | Compatível | Sem Suporte |
| não pode ser vinculado, pode ser carregado | Compatível | Sem Suporte |
| vinculação de "argumentos" lexicais | Compatível | Sem Suporte |
| nenhuma quebra de linha entre os parâmetros e `=>` | Não permitido | Não permitido |
| precedência correta | Não permitido | Não permitido |
| nenhuma propriedade de "protótipo" | Sem Suporte | Sem Suporte |
| vinculação "super" lexical em construtores | Compatível | Sem Suporte |
| vinculação "super" lexical em métodos | Compatível | Sem Suporte |
| vinculação "new.target" lexical | Sem Suporte | Sem Suporte |
[Tabela 63. Funções de seta]

{#javascript-engine-feature-support__table_ll3_bvc_wtb} {#javascript-engine-feature-support__table_ml3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| declaração de classe | Compatível | Sem Suporte |
| tem escopo de bloco | Compatível | Sem Suporte |
| expressão de classe | Compatível | Sem Suporte |
| classe anônima | Compatível | Sem Suporte |
| construtor | Compatível | Sem Suporte |
| métodos de prototipagem | Compatível | Sem Suporte |
| métodos com chave de cadeia de caracteres | Compatível | Sem Suporte |
| métodos de prototipagem calculados | Compatível | Sem Suporte |
| ponto-e-vírgula opcional | Compatível | Sem Suporte |
| métodos estáticos | Compatível | Sem Suporte |
| métodos estáticos calculados | Compatível | Sem Suporte |
| propriedades do acessador | Compatível | Sem Suporte |
| propriedades do acessador calculado | Compatível | Sem Suporte |
| propriedades do acessador estático | Compatível | Sem Suporte |
| propriedades do acessador estático calculado | Compatível | Sem Suporte |
| o nome da classe tem escopo léxico | Compatível | Sem Suporte |
| nomes calculados, zona morta temporal | Sem suporte | Sem Suporte |
| métodos não são enumeráveis | Compatível | Sem Suporte |
| modo estrito implícito | Sem Suporte | Sem Suporte |
| construtor requer novo | Compatível | Sem Suporte |
| estendidos | Compatível | Sem Suporte |
| estende expressões | Compatível | Sem Suporte |
| estende nulo | Compatível | Sem Suporte |
| novo.destino | Compatível | Sem Suporte |
[Tabela 64. Classe]

{#javascript-engine-feature-support__table_ml3_bvc_wtb} {#javascript-engine-feature-support__table_nl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| declaração em construtores | Compatível | Sem Suporte |
| expressão em construtores | Compatível | Sem Suporte |
| em métodos, acesso à propriedade | Compatível | Sem Suporte |
| em métodos, chamadas de método | Compatível | Sem Suporte |
| chamadas de método usam a vinculação "esta" correta | Compatível | Sem Suporte |
| chamadas de construtor usam a vinculação "new.target" correta | Compatível | Sem Suporte |
| está vinculado estaticamente | Compatível | Sem Suporte |
| super() invoca o construtor correto | Compatível | Sem Suporte |
[Tabela 65. Super]

{#javascript-engine-feature-support__table_nl3_bvc_wtb} {#javascript-engine-feature-support__table_ol3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| expressões de função do gerador | Não permitido | Não permitido |
| corrigir vinculação "esta" | Não permitido | Não permitido |
| não pode usar "este" com novo | Não permitido | Não permitido |
| enviando | Não permitido | Não permitido |
| %GeneratorPrototype% | Não permitido | Não permitido |
| Cadeia de prototipos %GeneratorPrototype% | Não permitido | Não permitido |
| %GeneratorPrototype%.construtor | Não permitido | Não permitido |
| %GeneratorPrototype%.throw | Não permitido | Não permitido |
| %GeneratorPrototype.return | Não permitido | Não permitido |
| precedência do operador de rendimento | Não permitido | Não permitido |
| rendimento \*, matrizes | Não permitido | Não permitido |
| rendimento \*, matrizes esparsas | Não permitido | Não permitido |
| rendimento \*, cadeias de caracteres | Não permitido | Não permitido |
| rendimento \*, cadeias de caracteres do plano astral | Não permitido | Não permitido |
| rendimento \*, instâncias do gerador | Não permitido | Não permitido |
| rendimento \*, iteráveis genéricos | Não permitido | Não permitido |
| rendimento \*, instâncias de iteráveis | Não permitido | Não permitido |
| rendimento \* em não iteráveis é um erro de tempo de execução | Não permitido | Não permitido |
| rendimento \*, fechamento do iterador | Não permitido | Não permitido |
| rendimento \*, fechamento do iterador por meio de arremesso () | Não permitido | Não permitido |
| métodos do gerador abreviado | Não permitido | Não permitido |
| métodos do gerador abreviado com chave de cadeia de caracteres | Não permitido | Não permitido |
| geradores de abreviação calculados | Não permitido | Não permitido |
| métodos de gerador abreviado, classes | Não permitido | Não permitido |
| geradores de abreviação calculados, classes | Não permitido | Não permitido |
| geradores abreviados não podem ser construtores | Não permitido | Não permitido |
[Tabela 66. Geradores]

{#javascript-engine-feature-support__table_ol3_bvc_wtb} {#javascript-engine-feature-support__table_pl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| MatrizInt8 | Não permitido | Não permitido |
| Uint8Array | Não permitido | Não permitido |
| Uint8ClampedArray | Não permitido | Não permitido |
| MatrizInt16 | Não permitido | Não permitido |
| Uint16Array | Não permitido | Não permitido |
| MatrizInt32 | Não permitido | Não permitido |
| Uint32Array | Não permitido | Não permitido |
| Matriz32Flutuante | Não permitido | Não permitido |
| MatrizFloat64 | Não permitido | Não permitido |
| DataView (Int8) | Não permitido | Não permitido |
| DataView (Uint8) | Não permitido | Não permitido |
| DataView (Int16) | Não permitido | Não permitido |
| DataView (Uint16) | Não permitido | Não permitido |
| DataView (Int32) | Não permitido | Não permitido |
| DataView (Uint32) | Não permitido | Não permitido |
| DataView (Float32) | Não permitido | Não permitido |
| DataView (Float64) | Não permitido | Não permitido |
| ArrayBuffer\[Symbol.species\] | Não permitido | Não permitido |
| construtores exigem novo | Não permitido | Não permitido |
| construtores aceitam iteráveis genéricos | Não permitido | Não permitido |
| cadeias de prototipagem corretas | Não permitido | Não permitido |
| %TypedArray%.de | Não permitido | Não permitido |
| %TypedArray%.de | Não permitido | Não permitido |
| %TypedArray%.prototype.subarray | Não permitido | Não permitido |
| %TypedArray%.prototype.join | Não permitido | Não permitido |
| %TypedArray%.prototype.indexOf | Não permitido | Não permitido |
| %TypedArray%.prototype.lastIndexOf | Não permitido | Não permitido |
| %TypedArray%.prototype.slice | Não permitido | Não permitido |
| %TypedArray%.prototype.every | Não permitido | Não permitido |
| %TypedArray%.prototype.filter | Não permitido | Não permitido |
| %TypedArray%.prototype.forEach | Não permitido | Não permitido |
| %TypedArray%.prototype.map | Não permitido | Não permitido |
| %TypedArray%.prototype.reduce | Não permitido | Não permitido |
| %TypedArray%.prototype.reduceRight | Não permitido | Não permitido |
| %TypedArray%.prototype.reverse | Não permitido | Não permitido |
| %TypedArray%.prototype.some | Não permitido | Não permitido |
| %TypedArray%.prototype.sort | Não permitido | Não permitido |
| %TypedArray%.prototype.copyWithin | Não permitido | Não permitido |
| %TypedArray%.prototype.find | Não permitido | Não permitido |
| %TypedArray%.prototype.findIndex | Não permitido | Não permitido |
| %TypedArray%.prototype.fill | Não permitido | Não permitido |
| %TypedArray%.prototype.keys | Não permitido | Não permitido |
| %TypedArray%.prototype.values | Não permitido | Não permitido |
| %TypedArray%.prototype.entries | Não permitido | Não permitido |
| %TypedArray%.prototype\[Symbol.iterator\] | Não permitido | Não permitido |
| %TypedArray%\[Symbol.species\] | Não permitido | Não permitido |
[Tabela 67. Matrizes digitadas]

{#javascript-engine-feature-support__table_pl3_bvc_wtb} {#javascript-engine-feature-support__table_ql3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| argumentos do construtor | Compatível | Sem Suporte |
| construtor requer novo | Compatível | Sem Suporte |
| construtor aceita nulo | Compatível | Sem Suporte |
| O construtor invoca o conjunto | Compatível | Sem Suporte |
| fechamento do iterador | Compatível | Sem Suporte |
| Map.prototype.set retorna isto | Compatível | Sem Suporte |
| A chave -0 é convertida em +0 | Compatível | Sem Suporte |
| Mapa.protótipo.tamanho | Compatível | Sem Suporte |
| Mapear.prototipo.excluir | Compatível | Sem Suporte |
| Map.prototype.clear | Compatível | Sem Suporte |
| Mapear.prototipo.paraCada | Compatível | Sem Suporte |
| Map.prototype.keys | Compatível | Sem Suporte |
| Map.prototype.values | Compatível | Sem Suporte |
| Map.prototype.entries | Compatível | Sem Suporte |
| Map.prototype\[Symbol.iterator\] | Compatível | Sem Suporte |
| Map.prototype não é uma instância | Compatível | Sem Suporte |
| Mapear cadeia de prototipos de iterador | Compatível | Sem Suporte |
| Mapa\[Symbol.species\] | Compatível | Sem Suporte |
[Tabela 68. Mapa]

{#javascript-engine-feature-support__table_ql3_bvc_wtb} {#javascript-engine-feature-support__table_rl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| argumentos do construtor | Compatível | Sem Suporte |
| construtor requer novo | Compatível | Sem Suporte |
| construtor aceita nulo | Compatível | Sem Suporte |
| construtor invoca add | Compatível | Sem Suporte |
| fechamento do iterador | Compatível | Sem Suporte |
| Set.prototype.add retorna isto | Compatível | Sem Suporte |
| A chave -0 é convertida em +0 | Compatível | Sem Suporte |
| Definir.protótipo.tamanho | Compatível | Sem Suporte |
| Definir.protótipo.excluir | Compatível | Sem Suporte |
| Definir.protótipo.limpar | Compatível | Sem Suporte |
| Definir.protótipo.paraCada | Compatível | Sem Suporte |
| Definir.protótipo.chaves | Compatível | Sem Suporte |
| Definir.protótipo.valores | Compatível | Sem Suporte |
| Definir.prototipo.entradas | Compatível | Sem Suporte |
| Set.prototype\[Symbol.iterator\] | Compatível | Sem Suporte |
| Set.prototype não é uma instância | Compatível | Sem Suporte |
| Definir cadeia de prototipos do iterador | Compatível | Sem Suporte |
| Definir \[Symbol.species\] | Compatível | Sem Suporte |
[Tabela 69. Conjunto]

{#javascript-engine-feature-support__table_rl3_bvc_wtb} {#javascript-engine-feature-support__table_sl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| argumentos do construtor | Não permitido | Não permitido |
| construtor requer novo | Não permitido | Não permitido |
| construtor aceita nulo | Não permitido | Não permitido |
| O construtor invoca o conjunto | Não permitido | Não permitido |
| objetos congelados como chaves | Não permitido | Não permitido |
| fechamento do iterador | Não permitido | Não permitido |
| WeakMap.prototype.set retorna isto | Não permitido | Não permitido |
| MapaFraco.protótipo.excluir | Não permitido | Não permitido |
| nenhum método WeakMap.prototype.clear | Não permitido | Não permitido |
| Os métodos .ha, .get e .delete aceitam elementos primitivos | Não permitido | Não permitido |
| WeakMap.prototype não é uma instância | Não permitido | Não permitido |
[Tabela 70. Mapa Fraco]

{#javascript-engine-feature-support__table_sl3_bvc_wtb} {#javascript-engine-feature-support__table_tl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| argumentos do construtor | Não permitido | Não permitido |
| construtor requer novo | Não permitido | Não permitido |
| construtor aceita nulo | Não permitido | Não permitido |
| construtor invoca add | Não permitido | Não permitido |
| fechamento do iterador | Não permitido | Não permitido |
| WeakSet.prototype.add retorna isto | Não permitido | Não permitido |
| WeakSet.prototype.delete | Não permitido | Não permitido |
| nenhum método WeakSet.prototype.clear | Não permitido | Não permitido |
| Os métodos .has e .delete aceitam elementos primitivos | Não permitido | Não permitido |
| WeakSet.prototype não é uma instância | Não permitido | Não permitido |
[Tabela 71. Conjunto fraco]

{#javascript-engine-feature-support__table_tl3_bvc_wtb} {#javascript-engine-feature-support__table_ul3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| construtor requer novo | Não permitido | Não permitido |
| nenhuma propriedade de "protótipo" | Não permitido | Não permitido |
| manipulador "get" | Não permitido | Não permitido |
| manipulador "get", instâncias de proxies | Não permitido | Não permitido |
| Invariantes do manipulador "get" | Não permitido | Não permitido |
| manipulador "set" | Não permitido | Não permitido |
| manipulador "set", instâncias de proxies | Não permitido | Não permitido |
| Invariantes do manipulador "set" | Não permitido | Não permitido |
| manipulador "tem" | Não permitido | Não permitido |
| manipulador "tem", instâncias de proxies | Não permitido | Não permitido |
| invariantes do manipulador "tem" | Não permitido | Não permitido |
| Manipulador "deleteProperty" | Não permitido | Não permitido |
| Invariável do manipulador "deleteProperty" | Não permitido | Não permitido |
| Manipulador "getOwnPropertyDescriptor" | Não permitido | Não permitido |
| Invariantes do manipulador "getOwnPropertyDescriptor" | Não permitido | Não permitido |
| Manipulador "defineProperty" | Não permitido | Não permitido |
| Invariantes do manipulador "defineProperty" | Não permitido | Não permitido |
| Manipulador "getPrototypeOf" | Não permitido | Não permitido |
| Invariável do manipulador "getPrototypeOf" | Não permitido | Não permitido |
| Manipulador "setPrototypeOf" | Não permitido | Não permitido |
| Invariável do manipulador "setPrototypeOf" | Não permitido | Não permitido |
| Manipulador "isExtensible" | Não permitido | Não permitido |
| Invariante do manipulador "isExtensible" | Não permitido | Não permitido |
| Manipulador "preventExtensions" | Não permitido | Não permitido |
| Invariável do manipulador "preventExtensions" | Não permitido | Não permitido |
| Manipulador "ownKeys" | Não permitido | Não permitido |
| Invariante do manipulador "ownKeys" | Não permitido | Não permitido |
| manipulador "aplicar" | Não permitido | Não permitido |
| Invariável do manipulador "aplicar" | Não permitido | Não permitido |
| manipulador "construir" | Não permitido | Não permitido |
| Invariantes do manipulador "construir" | Não permitido | Não permitido |
| Proxy.revogável | Não permitido | Não permitido |
| Suporte para Array.isArray | Não permitido | Não permitido |
| Suporte a JSON.stringify | Não permitido | Não permitido |
[Tabela 72. Proxy]

{#javascript-engine-feature-support__table_ul3_bvc_wtb} {#javascript-engine-feature-support__table_vl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Refletir.obter | Não permitido | Não permitido |
| Refletir.conjunto | Não permitido | Não permitido |
| Refletir.tem | Não permitido | Não permitido |
| Refletir.excluirPropriedade | Não permitido | Não permitido |
| Refletir.obterDescriptorDePropriedade | Não permitido | Não permitido |
| Refletir.definirPropriedade | Não permitido | Não permitido |
| Refletir.getPrototypeOf | Não permitido | Não permitido |
| Refletir.setPrototypeOf | Não permitido | Não permitido |
| Refletir.éExtensível | Não permitido | Não permitido |
| Reflect.preventExtensions | Não permitido | Não permitido |
| Reflect.ownKeys, chaves de cadeia de caracteres | Não permitido | Não permitido |
| Reflect.ownKeys, chaves de símbolo | Não permitido | Não permitido |
| Refletir.aplicar | Não permitido | Não permitido |
| Refletir.construir | Não permitido | Não permitido |
| Reflect.construct define metapropriedade new.target | Não permitido | Não permitido |
| Reflect.construct cria instâncias a partir do terceiro argumento | Não permitido | Não permitido |
| Reflect.construct, subclasse de matriz | Não permitido | Não permitido |
| Subclasse Reflect.construct, RegExp | Não permitido | Não permitido |
| Reflect.construct, subclasse de função | Não permitido | Não permitido |
| Reflect.construct, subclasse de promessa | Não permitido | Não permitido |
[Tabela 73. Refletir]

{#javascript-engine-feature-support__table_vl3_bvc_wtb} {#javascript-engine-feature-support__table_wl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| construtor requer novo | Não permitido | Não permitido |
| Promise.prototype não é uma instância | Não permitido | Não permitido |
| Promessa.todas | Não permitido | Não permitido |
| Promise.all, iteráveis genéricos | Não permitido | Não permitido |
| Promessa.corrida | Não permitido | Não permitido |
| Promise.race, iteráveis genéricos | Não permitido | Não permitido |
| Promessa\[Symbol.species\] | Não permitido | Não permitido |
[Tabela 74. Promessa]

{#javascript-engine-feature-support__table_wl3_bvc_wtb} {#javascript-engine-feature-support__table_xl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Compatível | Sem Suporte |
| suporte de tipode | Compatível | Sem Suporte |
| chaves de símbolo estão ocultas no código pré-ES6 | Compatível | Sem Suporte |
| Suporte a Object.defineProperty | Compatível | Sem Suporte |
| Os símbolos herdam do símbolo.prototipo | Compatível | Sem Suporte |
| não pode forçar para cadeia de caracteres ou número | Sem Suporte | Sem Suporte |
| pode converter com String() | Sem Suporte | Sem Suporte |
| novos lançamentos de símbolo () | Compatível | Sem Suporte |
| Objeto (símbolo) | Sem Suporte | Sem Suporte |
| JSON.stringify ignora símbolos primitivos | Compatível | Sem Suporte |
| JSON.stringify ignora objetos de símbolo | Sem Suporte | Sem Suporte |
| registro de símbolo global | Compatível | Sem Suporte |
[Tabela 75. Símbolo]

{#javascript-engine-feature-support__table_xl3_bvc_wtb} {#javascript-engine-feature-support__table_yl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Símbolo.temInstância | Não permitido | Não permitido |
| Símbolo.éConcatenavel | Não permitido | Não permitido |
| Símbolo.iterador, existência | Não permitido | Não permitido |
| Símbolo.iterator, objeto de argumentos | Não permitido | Não permitido |
| Símbolo.espécie, existência | Não permitido | Não permitido |
| Símbolo.espécie, Array.prototype.concat | Não permitido | Não permitido |
| Símbolo.espécie, Array.prototype.filter | Não permitido | Não permitido |
| Símbolo.espécie, matriz.protótipo.mapa | Não permitido | Não permitido |
| Símbolo.espécie, Array.prototype.slice | Não permitido | Não permitido |
| Símbolo.espécie, Array.prototype.splice | Não permitido | Não permitido |
| Símbolo.espécie, RegExp.prototipo\[Símbolo.split\] | Não permitido | Não permitido |
| Símbolo.espécie, Promessa.protótipo.então | Não permitido | Não permitido |
| Símbolo.substituir | Não permitido | Não permitido |
| Símbolo.pesquisar | Não permitido | Não permitido |
| Símbolo.split | Não permitido | Não permitido |
| Símbolo.correspondência | Não permitido | Não permitido |
| Construtor de Type.match, RegExp | Não permitido | Não permitido |
| Símbolo.corresponde, cadeia de caracteres.prototipo.começaCom | Não permitido | Não permitido |
| Símbolo.corresponde, String.prototype.endsWith | Não permitido | Não permitido |
| Símbolo.correspondência, cadeia de caracteres.prototipo.inclui | Não permitido | Não permitido |
| Símbolo.paraPrimitivo | Não permitido | Não permitido |
| Símbolo.paramarcadordecadeiadecadeias | Não permitido | Não permitido |
| O símbolo.toStringTag afeta os integrados existentes | Não permitido | Não permitido |
| Símbolo.toStringTag, novos internos | Não permitido | Não permitido |
| Símbolo.toStringTag, diversos. integrados | Não permitido | Não permitido |
| Símbolos.incompatíveis | Não permitido | Não permitido |
[Tabela 76. Símbolos conhecidos]

{#javascript-engine-feature-support__table_yl3_bvc_wtb} {#javascript-engine-feature-support__table_zl3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.atribuído | Compatível | Sem Suporte |
| Object.is | Compatível | Sem Suporte |
| Objeto.getOwnPropertySymbols | Compatível | Sem Suporte |
| Objeto.setPrototypeOf | Sem Suporte | Sem Suporte |
[Tabela 77. Métodos estáticos de objeto]

{#javascript-engine-feature-support__table_zl3_bvc_wtb} {#javascript-engine-feature-support__table_am3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| declarações de função | Compatível | Compatível |
| expressões de função | Compatível | Compatível |
| nova função | Sem Suporte | Sem Suporte |
| funções vinculadas | Sem Suporte | Sem Suporte |
| variáveis (função) | Compatível | Sem Suporte |
| métodos de objeto (função) | Compatível | Sem Suporte |
| propriedades do acessador | Sem Suporte | Sem Suporte |
| métodos abreviados | Compatível | Sem Suporte |
| métodos abreviados (sem vinculação lexical) | Compatível | Sem Suporte |
| métodos de chave de símbolo | Sem Suporte | Sem Suporte |
| declarações de classe | Compatível | Sem Suporte |
| expressões de classe | Compatível | Sem Suporte |
| variáveis (classe) | Com suporte | Sem Suporte |
| métodos de objeto (classe) | Sem Suporte | Sem Suporte |
| métodos de prototipagem de classe | Compatível | Sem Suporte |
| métodos estáticos de classe | Compatível | Sem Suporte |
| não é gravável, é configurável | Sem Suporte | Sem Suporte |
[Tabela 78. Propriedade "nome" da função]

{#javascript-engine-feature-support__table_am3_bvc_wtb} {#javascript-engine-feature-support__table_bm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Cadeia de caracteres.raw | Compatível | Sem Suporte |
| String.fromCodePoint | Compatível | Sem Suporte |
[Tabela 79. Métodos estáticos de cadeia de caracteres]

{#javascript-engine-feature-support__table_bm3_bvc_wtb} {#javascript-engine-feature-support__table_cm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| String.prototype.codePointAt | Compatível | Compatível |
| String.prototype.normalize | Compatível | Compatível |
| String.prototype.repeat | Compatível | Compatível |
| String.prototype.startsWith | Compatível | Compatível |
| String.prototype.startsWith é lançado em RegExp | Sem Suporte | Sem Suporte |
| String.prototype.endsWith | Compatível | Compatível |
| String.prototype.endsWith é lançado em RegExp | Sem Suporte | Sem Suporte |
| String.prototype.includes | Compatível | Compatível |
| String.prototype\[Symbol.iterator\] | Compatível | Sem Suporte |
| Cadeia de prototipos de iterador de cadeia de caracteres | Compatível | Sem Suporte |
[Tabela 80. Métodos String.prototype]

{#javascript-engine-feature-support__table_cm3_bvc_wtb} {#javascript-engine-feature-support__table_dm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| RegExp.prototype.flags | Compatível | Sem Suporte |
| RegExp.prototype\[Symbol.match\] | Sem Suporte | Sem Suporte |
| RegExp.prototype\[Symbol.replace\] | Compatível | Sem Suporte |
| RegExp.prototype\[Symbol.split\] | Compatível | Sem Suporte |
| RegExp.prototype\[Symbol.search\] | Sem Suporte | Sem Suporte |
| RegExp\[Symbol.species\] | Compatível | Sem Suporte |
[Tabela 81. Propriedades de RegExp.prototype]

{#javascript-engine-feature-support__table_dm3_bvc_wtb} {#javascript-engine-feature-support__table_em3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Array.from, objetos semelhantes a matriz | Compatível | Sem Suporte |
| Array.from, instâncias do gerador | Não permitido | Não permitido |
| Array.from, iteráveis genéricos | Compatível | Sem Suporte |
| Array.from, instâncias de iteráveis genéricos | Compatível | Sem Suporte |
| Função de mapa Array.from, objetos semelhantes a matriz | Compatível | Sem Suporte |
| Função de mapa Array.from, instâncias de gerador | Não permitido | Não permitido |
| Função de mapa Array.from, iteráveis genéricos | Compatível | Sem Suporte |
| Função de mapa Array.from, instâncias de iteráveis | Compatível | Sem Suporte |
| Array.from, fechamento do iterador | Compatível | Sem Suporte |
| Matriz.de | Compatível | Sem Suporte |
| Matriz\[Symbol.species\] | Compatível | Sem Suporte |
[Tabela 82. Métodos estáticos de matriz]

{#javascript-engine-feature-support__table_em3_bvc_wtb} {#javascript-engine-feature-support__table_fm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Array.prototype.copyWithin | Compatível | Sem Suporte |
| Array.prototype.find | Compatível | Sem Suporte |
| Array.prototype.findIndex | Compatível | Sem Suporte |
| Matriz.protótipo.preenchimento | Compatível | Sem Suporte |
| Matriz.protótipo.chaves | Compatível | Sem Suporte |
| Matriz.protótipo.valores | Compatível | Sem Suporte |
| Matriz.protótipo.entradas | Compatível | Sem Suporte |
| Array.prototype\[Symbol.iterator\] | Compatível | Sem Suporte |
| Cadeia de prototipagem do iterador de matriz | Compatível | Sem Suporte |
| Array.prototype\[Symbol.unscopables\] | Compatível | Sem Suporte |
[Tabela 83. Métodos Array.prototype]

{#javascript-engine-feature-support__table_fm3_bvc_wtb} {#javascript-engine-feature-support__table_gm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Número.éFinal | Compatível | Sem Suporte |
| Número.éInteiro | Compatível | Sem Suporte |
| Número.éInteiroSafe | Compatível | Sem Suporte |
| Número.éNaN | Compatível | Sem Suporte |
| Number.parseFloat | Não permitido | Não permitido |
| Número.analisarInt | Não permitido | Não permitido |
| Número.EPSILON | Compatível | Sem Suporte |
| Número.MIN_SAFE_INTEGER | Compatível | Sem Suporte |
| Número.MAX_SAFE_INTEGER | Compatível | Sem Suporte |
[Tabela 84. Propriedades numéricas]

{#javascript-engine-feature-support__table_gm3_bvc_wtb} {#javascript-engine-feature-support__table_hm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Math.clz32 | Compatível | Sem Suporte |
| Math.imul | Compatível | Sem Suporte |
| Math.sinal | Compatível | Sem Suporte |
| Math.log10 | Compatível | Sem Suporte |
| Math.log2 | Compatível | Sem Suporte |
| Math.log1p | Compatível | Sem Suporte |
| Math.expm1 | Compatível | Sem Suporte |
| Math.cosh | Compatível | Sem Suporte |
| Math.sinh | Compatível | Sem Suporte |
| Math.tanh | Compatível | Sem Suporte |
| Math.acosh | Compatível | Sem Suporte |
| Math.asinh | Compatível | Sem Suporte |
| Atanh.matemático | Compatível | Sem Suporte |
| Trunc.Mat. | Compatível | Sem Suporte |
| Math.fundo | Compatível | Sem Suporte |
| Math.cbrt | Compatível | Sem Suporte |
| Math.hypot | Compatível | Sem Suporte |
[Tabela 85. Métodos matemáticos]

{#javascript-engine-feature-support__table_hm3_bvc_wtb} {#javascript-engine-feature-support__table_trb_5gx_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Date.prototype\[Symbol.toPrimitive\] | Compatível | Sem Suporte |
[Tabela 86. Date.prototype\[Symbol.toPrimitive\]]

{#javascript-engine-feature-support__table_trb_5gx_f5b} {#javascript-engine-feature-support__table_im3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| propriedade de comprimento (acessando) | Não permitido | Não permitido |
| propriedade de comprimento (configuração) | Não permitido | Não permitido |
| cadeia de prototipação correta | Não permitido | Não permitido |
| Suporte para Array.isArray | Não permitido | Não permitido |
| Array.prototype.concat | Não permitido | Não permitido |
| Array.prototype.filter | Não permitido | Não permitido |
| Array.prototype.map | Não permitido | Não permitido |
| Matriz.protótipo.parte | Não permitido | Não permitido |
| Array.prototype.splice | Não permitido | Não permitido |
| Matriz.de | Não permitido | Não permitido |
| Matriz.de | Não permitido | Não permitido |
[Tabela 87. A matriz é subclassável]

{#javascript-engine-feature-support__table_im3_bvc_wtb} {#javascript-engine-feature-support__table_jm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| cadeia de prototipação correta | Não permitido | Não permitido |
| RegExp.protótipo.exec | Não permitido | Não permitido |
| RegExp.prototype.test | Não permitido | Não permitido |
[Tabela 88. RegExp é subclasse]

{#javascript-engine-feature-support__table_jm3_bvc_wtb} {#javascript-engine-feature-support__table_km3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| pode ser chamado | Não permitido | Não permitido |
| cadeia de prototipação correta | Não permitido | Não permitido |
| pode ser usado com "novo" | Não permitido | Não permitido |
| Function.prototype.call | Não permitido | Não permitido |
| Função.protótipo.aplicar | Não permitido | Não permitido |
| Função.protótipo.bind | Não permitido | Não permitido |
[Tabela 89. A função pode ser subclassificada]

{#javascript-engine-feature-support__table_km3_bvc_wtb} {#javascript-engine-feature-support__table_lm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| cadeia de prototipação correta | Não permitido | Não permitido |
| Promessa.todas | Não permitido | Não permitido |
| Promessa.corrida | Não permitido | Não permitido |
[Tabela 90. A promessa é subclassável]

{#javascript-engine-feature-support__table_lm3_bvc_wtb} {#javascript-engine-feature-support__table_mm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Booliano é subclasse | Não permitido | Não permitido |
| O número pode ser subclassificado | Não permitido | Não permitido |
| A cadeia de caracteres pode ser subclassificada | Não permitido | Não permitido |
| O erro é subclasse | Não permitido | Não permitido |
| O mapa é subclasse | Não permitido | Não permitido |
| O conjunto é subclasse | Não permitido | Não permitido |
[Tabela 91. Subclasses diversas]

{#javascript-engine-feature-support__table_mm3_bvc_wtb} {#javascript-engine-feature-support__table_nm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funções básicas | Não permitido | Não permitido |
| funções de gerador | Não permitido | Não permitido |
| funções de seta | Não permitido | Não permitido |
| classes | Não permitido | Não permitido |
| subclasses | Não permitido | Não permitido |
[Tabela 92. Protótipo de funções vinculadas]

{#javascript-engine-feature-support__table_nm3_bvc_wtb} {#javascript-engine-feature-support__table_om3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| ParaPrimitivo | Não permitido | Não permitido |
| CriarListaDeArrayLike | Não permitido | Não permitido |
| operador instanceof | Não permitido | Não permitido |
| Tem vinculação | Não permitido | Não permitido |
| CriarFunçãoDinâmica | Não permitido | Não permitido |
| ClassDefinitionEvaluation | Não permitido | Não permitido |
| IteratorComplete, IteratorValue | Não permitido | Não permitido |
| ToPropertyDescriptor | Não permitido | Não permitido |
| Objeto.atribuído | Não permitido | Não permitido |
| Objeto.definirPropriedades | Não permitido | Não permitido |
| Função.protótipo.bind | Não permitido | Não permitido |
| Error.prototype.toString | Não permitido | Não permitido |
| Cadeia de caracteres.raw | Não permitido | Não permitido |
| Construtor RegExp | Não permitido | Não permitido |
| RegExp.prototype.flags | Não permitido | Não permitido |
| RegExp.protótipo.teste | Não permitido | Não permitido |
| RegExp.prototype.toString | Não permitido | Não permitido |
| RegExp.prototype\[Symbol.match\] | Não permitido | Não permitido |
| RegExp.prototype\[Symbol.replace\] | Não permitido | Não permitido |
| RegExp.prototype\[Symbol.search\] | Não permitido | Não permitido |
| RegExp.prototype\[Symbol.split\] | Não permitido | Não permitido |
| Matriz.de | Não permitido | Não permitido |
| Array.prototype.concat | Não permitido | Não permitido |
| Métodos de iteração Array.prototype | Não permitido | Não permitido |
| Matriz.protótipo.pop | Não permitido | Não permitido |
| Matriz.protótipo.reverso | Não permitido | Não permitido |
| Array.prototype.shift | Não permitido | Não permitido |
| Array.prototype.splice | Não permitido | Não permitido |
| Array.prototype.toString | Não permitido | Não permitido |
| JSON.stringify | Não permitido | Não permitido |
| Funções de resolução de promessa | Não permitido | Não permitido |
| String.prototype.match | Não permitido | Não permitido |
| String.prototype.replace | Não permitido | Não permitido |
| String.prototype.search | Não permitido | Não permitido |
| String.prototype.split | Não permitido | Não permitido |
| Data.protótipo.paraJSON | Não permitido | Não permitido |
[Tabela 93. Proxy, chamadas internas "get"]

{#javascript-engine-feature-support__table_om3_bvc_wtb} {#javascript-engine-feature-support__table_pm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.atribuído | Não permitido | Não permitido |
| Matriz.de | Não permitido | Não permitido |
| Matriz.de | Não permitido | Não permitido |
| Array.prototype.copyWithin | Não permitido | Não permitido |
| Matriz.protótipo.preenchimento | Não permitido | Não permitido |
| Matriz.protótipo.pop | Não permitido | Não permitido |
| Array.prototype.push | Não permitido | Não permitido |
| Matriz.protótipo.reverso | Não permitido | Não permitido |
| Array.prototype.shift | Não permitido | Não permitido |
| Array.prototype.splice | Não permitido | Não permitido |
| Array.prototype.unshift | Não permitido | Não permitido |
[Tabela 94. Proxy, chamadas "definidas" internas]

{#javascript-engine-feature-support__table_pm3_bvc_wtb} {#javascript-engine-feature-support__table_qm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| \[\[Definir\]\] | Não permitido | Não permitido |
| Definir nível de integridade | Não permitido | Não permitido |
[Tabela 95. Proxy, chamadas "defineProperty" internas]

{#javascript-engine-feature-support__table_qm3_bvc_wtb} {#javascript-engine-feature-support__table_rm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Array.prototype.copyWithin | Não permitido | Não permitido |
| Matriz.protótipo.pop | Não permitido | Não permitido |
| Matriz.protótipo.reverso | Não permitido | Não permitido |
| Array.prototype.shift | Não permitido | Não permitido |
| Array.prototype.splice | Não permitido | Não permitido |
| Array.prototype.unshift | Não permitido | Não permitido |
[Tabela 96. Proxy, chamadas "deleteProperty" internas]

{#javascript-engine-feature-support__table_rm3_bvc_wtb} {#javascript-engine-feature-support__table_sm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| \[\[Definir\]\] | Não permitido | Não permitido |
| Objeto.atribuído | Não permitido | Não permitido |
| Objeto.protótipo.temPropriedadePrópria | Não permitido | Não permitido |
| Função.protótipo.bind | Não permitido | Não permitido |
[Tabela 97. Proxy, chamadas "getOwnPropertyDescriptor" internas]

{#javascript-engine-feature-support__table_sm3_bvc_wtb} {#javascript-engine-feature-support__table_tm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Definir nível de integridade | Não permitido | Não permitido |
| TestIntegrityLevel | Não permitido | Não permitido |
| SerializarJSONObject | Não permitido | Não permitido |
[Tabela 98. Proxy, chamadas "ownKeys" internas]

{#javascript-engine-feature-support__table_tm3_bvc_wtb} {#javascript-engine-feature-support__table_um3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.getPrototypeOf | Não permitido | Não permitido |
| Objeto.getOwnPropertyDescriptor | Não permitido | Não permitido |
| Objeto.getOwnPropertyNames | Não permitido | Não permitido |
| Objeto.selo | Não permitido | Não permitido |
| Objeto.congelar | Não permitido | Não permitido |
| Extensões.prevent.objeto | Não permitido | Não permitido |
| Objeto.estáSelado | Não permitido | Não permitido |
| Objeto.estáCongelado | Não permitido | Não permitido |
| Objeto.éExtensível | Não permitido | Não permitido |
| Objeto.chaves | Não permitido | Não permitido |
[Tabela 99. Métodos estáticos de objeto aceitam primitivos]

{#javascript-engine-feature-support__table_um3_bvc_wtb} {#javascript-engine-feature-support__table_vm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.chaves | Não permitido | Não permitido |
| Objeto.getOwnPropertyNames | Não permitido | Não permitido |
| Objeto.atribuído | Não permitido | Não permitido |
| JSON.stringify | Não permitido | Não permitido |
| JSON.análise | Não permitido | Não permitido |
| Reflect.ownKeys, ordem da chave de cadeia de caracteres | Não permitido | Não permitido |
| Reflect.ownKeys, ordem de chave de símbolo | Não permitido | Não permitido |
[Tabela 100. Pedido de propriedade própria]

{#javascript-engine-feature-support__table_vm3_bvc_wtb} {#javascript-engine-feature-support__table_wm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| var ?; | Não permitido | Não permitido |
| var ð ‹€; | Não permitido | Não permitido |
| não há palavras reservadas com escape como identificadores | Não permitido | Não permitido |
[Tabela 101. Sintaxe do identificador atualizada]

{#javascript-engine-feature-support__table_wm3_bvc_wtb} {#javascript-engine-feature-support__table_ym3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| declaração de função no nível de bloco suspenso | Não permitido | Não permitido |
| declarações de função rotuladas | Não permitido | Não permitido |
| declarações de função em cláusulas de declaração "if" | Não permitido | Não permitido |
[Tabela 102. Semântica de função não estrita]

{#javascript-engine-feature-support__table_ym3_bvc_wtb} {#javascript-engine-feature-support__table_zm3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| suporte básico | Não permitido | Não permitido |
| vários __proto__ são um erro | Não permitido | Não permitido |
| não é uma propriedade calculada | Não permitido | Não permitido |
| não é uma propriedade abreviada | Não permitido | Não permitido |
| não é um método abreviado | Não permitido | Não permitido |
[Tabela 103. __proto__ em literais de objeto]

{#javascript-engine-feature-support__table_zm3_bvc_wtb} {#javascript-engine-feature-support__table_an3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| obter prototipo | Não permitido | Não permitido |
| definir prototipo | Não permitido | Não permitido |
| ausente de Object.create(null) | Não permitido | Não permitido |
| presente em hasOwnProperty() | Não permitido | Não permitido |
| descritor de propriedade correto | Não permitido | Não permitido |
| presente em Object.getOwnPropertyNames() | Não permitido | Não permitido |
[Tabela 104. Objeto.prototipo.__proto__]

{#javascript-engine-feature-support__table_an3_bvc_wtb} {#javascript-engine-feature-support__table_bn3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| existência | Não permitido | Não permitido |
| os nomes dos marcadores estão minúsculos | Não permitido | Não permitido |
| as aspas nos argumentos têm escape | Não permitido | Não permitido |
[Tabela 105. Métodos HTML String.prototype]

{#javascript-engine-feature-support__table_bn3_bvc_wtb} {#javascript-engine-feature-support__table_cn3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| funcionalidade básica | Não permitido | Não permitido |
| retorna isto | Não permitido | Não permitido |
[Tabela 106. RegExp.prototype.compile]

{#javascript-engine-feature-support__table_cn3_bvc_wtb} {#javascript-engine-feature-support__table_dn3_bvc_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| hifens em conjuntos de caracteres | Não permitido | Não permitido |
| escapes de caracteres inválidos | Não permitido | Não permitido |
| escapes inválidos de caracteres de controle | Não permitido | Não permitido |
| escapes de Unicode inválidos | Não permitido | Não permitido |
| escapes hexadecimais inválidos | Não permitido | Não permitido |
| padrões e quantificadores incompletos | Não permitido | Não permitido |
| sequências de escape octal | Não permitido | Não permitido |
| referências inversas inválidas se tornam escapes octais | Não permitido | Não permitido |
[Tabela 107. Extensões de sintaxe RegExp]

{#javascript-engine-feature-support__table_dn3_bvc_wtb}

## ECMAScript 2009 (ES5) recursos {#javascript-engine-feature-support__section_z5d_x5c_wtb}

{#javascript-engine-feature-support__table_avd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Acessadores getter | Compatível | Compatível |
| Acessadores do definidor | Compatível | Compatível |
| Vírgulas à direita em objetos literais | Compatível | Compatível |
| Vírgulas à direita em literais de matriz | Compatível | Compatível |
| Palavras reservadas como nomes de propriedade | Compatível | Compatível |
[Tabela 108. Extensões literais de objeto/matriz]

{#javascript-engine-feature-support__table_avd_x5c_wtb} {#javascript-engine-feature-support__table_bvd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Objeto.criar | Compatível | Compatível |
| Objeto.definirPropriedade | Compatível | Compatível |
| Objeto.definirPropriedades | Compatível | Compatível |
| Objeto.getPrototypeOf | Compatível | Compatível |
| Objeto.chaves | Compatível | Compatível |
| Objeto.selo | Compatível | Compatível |
| Objeto.congelar | Compatível | Compatível |
| Extensões.prevent.objeto | Compatível | Compatível |
| Objeto.estáSelado | Compatível | Compatível |
| Objeto.estáCongelado | Compatível | Compatível |
| Objeto.éExtensível | Compatível | Compatível |
| Objeto.getOwnPropertyDescriptor | Compatível | Compatível |
| Objeto.getOwnPropertyNames | Compatível | Compatível |
[Tabela 109. Métodos estáticos de objeto]

{#javascript-engine-feature-support__table_bvd_x5c_wtb} {#javascript-engine-feature-support__table_cvd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Matriz.éArray | Compatível | Compatível |
| Array.prototype.indexOf | Compatível | Compatível |
| Array.prototype.lastIndexOf | Compatível | Compatível |
| Matriz.protótipo.todos | Compatível | Compatível |
| Array.prototype.some | Compatível | Compatível |
| Matriz.protótipo.paraCada | Compatível | Compatível |
| Matriz.protótipo.mapa | Compatível | Compatível |
| Array.prototype.filter | Compatível | Compatível |
| Matriz.protótipo.reduzir | Compatível | Compatível |
| Array.prototype.reduceRight | Compatível | Compatível |
| Array.prototype.sort: compareFn deve ser função ou indefinido | Sem Suporte | Sem Suporte |
| Array.prototype.sort: compareFn pode ser indefinido explícito | Compatível | Compatível |
[Tabela 110. Métodos de matriz]

{#javascript-engine-feature-support__table_cvd_x5c_wtb} {#javascript-engine-feature-support__table_dvd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Acesso à propriedade em cadeias de caracteres | Compatível | Compatível |
| String.prototype.split | Compatível | Sem Suporte |
| String.prototype.trim | Compatível | Compatível |
[Tabela 111. Propriedades e métodos de cadeia de caracteres]

{#javascript-engine-feature-support__table_dvd_x5c_wtb} {#javascript-engine-feature-support__table_evd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Data.protótipo.paraISOString | Compatível | Compatível |
| Data.agora | Compatível | Compatível |
| Data.protótipo.paraJSON | Sem Suporte | Sem Suporte |
[Tabela 112. Métodos de data]

{#javascript-engine-feature-support__table_evd_x5c_wtb} {#javascript-engine-feature-support__table_fvd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| indefinido | Com suporte | Compatível |
| NaN | Com suporte | Compatível |
| Infinito | Com suporte | Compatível |
[Tabela 113. Globais imutáveis]

{#javascript-engine-feature-support__table_fvd_x5c_wtb} {#javascript-engine-feature-support__table_gvd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Number.prototype.toExponential é arredondado corretamente | Compatível | Compatível |
| Number.prototype.toExponential lança em ±Infinity openedDigits | Compatível | Compatível |
| Number.prototype.toExponential não lança em casos de borda | Compatível | Compatível |
[Tabela 114. Métodos numéricos]

{#javascript-engine-feature-support__table_gvd_x5c_wtb} {#javascript-engine-feature-support__table_ivd_x5c_wtb__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| palavras reservadas | Não permitido | Não permitido |
| "este" está indefinido em funções | Não permitido | Não permitido |
| "este" não é forçado a objeto em métodos primitivos | Não permitido | Não permitido |
| "este" não é forçado a objeto em acessadores primitivos | Não permitido | Não permitido |
| o octal legado é um SyntaxError | Não permitido | Não permitido |
| a atribuição a identificadores não resolvidos é um Erro de Referência | Não permitido | Não permitido |
| atribuição para eval ou argumentos é um SyntaxError | Não permitido | Não permitido |
| A atribuição a propriedades não graváveis é um TypeError | Não permitido | Não permitido |
| eval ou vinculações de argumentos é um SyntaxError | Não permitido | Não permitido |
| argumentos.caller foi removido ou é um TypeError | Não permitido | Não permitido |
| argumentos.calee é um TypeError | Não permitido | Não permitido |
| (function(){}).caller e (function(){}).arguments é um TypeError | Não permitido | Não permitido |
| argumentos não estão mapeados | Não permitido | Não permitido |
| eval() não pode criar vinculações | Não permitido | Não permitido |
| excluir vinculações é um SyntaxError | Não permitido | Não permitido |
| a exclusão de propriedades não configuráveis é um TypeError | Não permitido | Não permitido |
| "com" é um SyntaxError | Não permitido | Não permitido |
| nomes de parâmetro repetidos são um SyntaxError | Não permitido | Não permitido |
| expressões de função com nome e argumento correspondentes são válidas | Não permitido | Não permitido |
[Tabela 115. Modo estrito]

{#javascript-engine-feature-support__table_ivd_x5c_wtb} {#javascript-engine-feature-support__table_dsy_c3x_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| Função.protótipo.bind | Compatível | Compatível |
[Tabela 116. Função.protótipo.bind]

{#javascript-engine-feature-support__table_dsy_c3x_f5b} {#javascript-engine-feature-support__table_hwd_ljx_f5b__entry__3}

| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|-|-|-|
| JSON | Compatível | Compatível |
[Tabela 117. JSON]

{#javascript-engine-feature-support__table_hwd_ljx_f5b}

