Suporte ao recurso do mecanismo JavaScript
Compare os recursos do ECMAScript entre os modos JavaScript ECMAScript 2021 (ES12) e Padrões ES5 em Washington DC . Ambos os modos oferecem suporte a 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.
Definições de suporte
- Com suporte
- 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 ao modelo de programação Now Platform ou representa um risco à segurança ou ao desempenho. Recursos não permitidos resultam em um erro.
Recursos do ECMAScript 2022 (ES13)
Importante:
Antes de implantar o código na produção, você deve testar completamente os scripts usando recursos compatíveis com ECMAScript 2022 (ES13) devido ao suporte parcial recém-adicionado de recursos nesta versão do ECMAScript.
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| campos de classe de instância pública | Com suporte | 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 |
| campos de classe de instância privada opcional acesso | Sem Suporte | Sem Suporte |
| campos de classe de instância privada profunda opcional acesso | Sem Suporte | Sem Suporte |
| campos de classe de instância calculada | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| campos de classe estática pública | Com suporte | Sem Suporte |
| campos de classe estática usam [[Definir]] | Com suporte | Sem Suporte |
| campos de classe estática privada | Com suporte | Sem Suporte |
| campos de classe estática calculada | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| métodos de instância privada | Sem Suporte | Sem Suporte |
| métodos estáticos privados | Com suporte | Sem Suporte |
| propriedades do acessador privado | Sem Suporte | Sem Suporte |
| propriedades de acessador estático privado | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.prototype.at() | Sem Suporte | Sem Suporte |
| Cadeia de caracteres.prototype.at() | Com suporte | Sem Suporte |
| %TypedArray%.prototype.at() | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Funcionalidade básica | Com suporte | Sem Suporte |
| ToObject chamado antes de ToPropertyKey | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| O erro tem causa | Com suporte | Sem Suporte |
| Error.prototype não tem causa | Com suporte | Sem Suporte |
| EvalError tem causa | Com suporte | Sem Suporte |
| EvalError.prototype não tem causa | Com suporte | Sem Suporte |
| RangeError tem causa | Com suporte | Sem Suporte |
| RangeError.prototype não tem causa | Com suporte | Sem Suporte |
| ReferenceError tem causa | Com suporte | Sem Suporte |
| ReferenceError.prototype não tem causa | Com suporte | Sem Suporte |
| SyntaxError tem causa | Com suporte | Sem Suporte |
| SyntaxError.prototype não tem causa | Com suporte | Sem Suporte |
| TypeError tem causa | Com suporte | Sem Suporte |
| TypeError.prototype não tem causa | Com suporte | Sem Suporte |
| URIError tem causa | Com suporte | Sem Suporte |
| URIError.prototype não tem causa | Com suporte | Sem Suporte |
| AggregateError tem causa | Com suporte | Sem Suporte |
| AggregateError.prototype não tem causa | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| O construtor oferece suporte a ele | Sem Suporte | Sem Suporte |
| aparece em sinalizadores | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Verificações ergonômicas de marca para campos privados | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Blocos de inicialização estática de classe | Com suporte | Sem Suporte |
ECMAScript 2021 (ES12) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| execução | Não permitido | Não permitido |
| ErroAgregado | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Suporte mínimo para WeakRef | Não permitido | Não permitido |
| Suporte mínimo a FinalizationRegistry | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| ||= suporte básico | Com suporte | Sem Suporte |
| ||= comportamento de curto- circuito | Com suporte | Sem Suporte |
| ||= definidor não invocado desnecessariamente | Com suporte | Sem Suporte |
| &&= suporte básico | Com suporte | Sem Suporte |
| &&= comportamento de curto- circuito | Com suporte | Sem Suporte |
| O definidor &&= não foi invocado desnecessariamente | Com suporte | Sem Suporte |
| ?”= suporte básico | Com suporte | Sem Suporte |
| ?”= comportamento de curto- circuito | Com suporte | Sem Suporte |
| ?”= definidor não invocado desnecessariamente | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| separadores numéricos | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Cadeia de caracteres.prototype.replaceAll | Com suporte | Com suporte |
ECMAScript 2020 (ES11) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| lança em regex não global | Com suporte | Sem Suporte |
| 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.comoIntN | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| A propriedade global "globalEste" é um objeto global | Não permitido | Não permitido |
| A propriedade global "globalEste" tem o descritor de propriedade correto | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| acesso à propriedade opcional | Com suporte | Sem Suporte |
| acesso ao suporte opcional | Com suporte | Sem Suporte |
| chamada de método opcional | Com suporte | Sem Suporte |
| chamada de função opcional | Com suporte | Sem Suporte |
| parâmetros de propagação após o encadeamento opcional | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Promessa.tudoResolvido | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| anular operador de aglutinação (??) | Com suporte | Sem Suporte |
ECMAScript 2019 (ES10) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| básico | Com suporte | Sem Suporte |
| descrição vazia | Com suporte | Sem Suporte |
| descrição indefinida | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Cadeia de caracteres.prototype.trimLeft | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.trimRight | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.trimStart | Com suporte | Sem Suporte |
| Cadeia de caracteres.prototype.trimEnd | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.prototype.flat | Com suporte | Sem Suporte |
| Array.prototype.flatMap | Com suporte | Sem Suporte |
| plano e planoMap em Array.prototype[@@unscopables] | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.deEntradas | Com suporte | Sem Suporte |
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funções criadas com o Construtor de função | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| O separador de linhas pode aparecer em literais de cadeia de caracteres | Não permitido | Não permitido |
| O separador de parágrafo pode aparecer em literais de cadeia de caracteres | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Stringify.JSON bem formado | Não permitido | Não permitido |
ECMAScript 2018 (ES9) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| propriedades de REST do objeto | Com suporte | Sem Suporte |
| propriedades de propagação de objeto | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| suporte básico | Não permitido | Não permitido |
| não mude o valor da resolução | Não permitido | Não permitido |
| mudar valor de rejeição | Não permitido | Não permitido |
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Sinalizador s (dotAll) para expressões regulares | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Grupos de captura nomeados RegExp | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Declarações de Lookbehind do RegExp | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Escapes de propriedade Unicode de RegExp | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| revisão de literal de modelo | Não permitido | Não permitido |
ECMAScript 2017 (ES8) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.valores | Com suporte | Sem Suporte |
| Objeto.entradas | Com suporte | Sem Suporte |
| Object.getOwnPropertyDescriptors | Com suporte | Sem Suporte |
| Object.getOwnPropertyDescriptors não fornece descritores indefinidos | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Cadeia de caracteres.prototype.padStart | Com suporte | Sem Suporte |
| String.prototype.padEnd | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| em listas de parâmetros | Com suporte | Sem Suporte |
| em listas de argumentos | Com suporte | Sem Suporte |
| 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íncrona e função | Não permitido | Não permitido |
| nenhuma propriedade "prototype" | 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 que não sejam de compromisso | 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 protótipo 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 |
| 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.e | Não permitido | Não permitido |
| Atomics.compareExchange | Não permitido | Não permitido |
| Atomics.exchange | Não permitido | Não permitido |
| Atomics.aguardar | Não permitido | Não permitido |
| Atomics.wake | Não permitido | Não permitido |
| Atomics.isLockFree | Não permitido | Não permitido |
| Atomics.carga | 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 |
| 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 protótipo | 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__, as propriedades de dados podem sombrear os acessadores | Não permitido | Não permitido |
| __lookupSetter__ | Não permitido | Não permitido |
| __lookupSetter__, cadeia de protótipo | 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__, as propriedades de dados podem sombrear os acessadores | Não permitido | Não permitido |
| 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 |
ECMAScript 2016 (ES7) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| suporte básico | Com suporte | Sem Suporte |
| atribuição | Com suporte | Sem Suporte |
| erro de sintaxe antecipada para negação unária sem parênteses | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.prototype.includes | Com suporte | Sem Suporte |
| Array.prototype.includes é genérico | Sem Suporte | Sem Suporte |
| %TypedArray%.prototype.includes | Não permitido | Não permitido |
ECMAScript 2015 (ES6) recursos
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| indefinidos explícitos adiam para o padrão | Com suporte | Sem Suporte |
| os padrões podem se referir a parâmetros anteriores | Com suporte | Sem Suporte |
| interação de objeto de argumentos | Com suporte | Sem Suporte |
| zona morta temporal | Não permitido | Não permitido |
| escopo separado | Com suporte | Sem Suporte |
| suporte a nova função () | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| propriedade de "comprimento" da função | Com suporte | Sem Suporte |
| interação de objeto de argumentos | Sem Suporte | Sem Suporte |
| não pode ser usado em definidores | Não permitido | Não permitido |
| suporte a nova função () | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| com matrizes, em chamadas de função | Com suporte | Sem Suporte |
| com matrizes, em literais de matriz | Com suporte | Sem Suporte |
| com matrizes esparsas, em chamadas de função | Com suporte | Sem Suporte |
| com matrizes esparsas, em literais de matriz | Com suporte | Sem Suporte |
| com cadeias de caracteres, em chamadas de função | Com suporte | Sem Suporte |
| com cadeias de caracteres, em literais de matriz | Com suporte | 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 | Com suporte | 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 | Com suporte | Sem Suporte |
| com iteráveis genéricos, em matrizes | Com suporte | Sem Suporte |
| com instâncias de iteráveis, em chamadas | Com suporte | Sem Suporte |
| com instâncias de iteráveis, em matrizes | Com suporte | Sem Suporte |
| distribuir não iteráveis é um erro de tempo de execução | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| propriedades calculadas | Com suporte | Sem Suporte |
| propriedades de abreviação | Com suporte | Sem Suporte |
| métodos de abreviação | Com suporte | Sem Suporte |
| métodos abreviados com chave de cadeia de caracteres | Com suporte | Sem Suporte |
| métodos de abreviação calculados | Com suporte | Sem Suporte |
| acessadores calculados | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| com matrizes | Com suporte | Sem Suporte |
| com matrizes esparsas | Com suporte | Sem Suporte |
| com cadeias de caracteres | Com suporte | Sem Suporte |
| com cadeias de caracteres de plano astral | Com suporte | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Com suporte | Sem Suporte |
| com instâncias de iteráveis genéricos | Com suporte | Sem Suporte |
| iterador fechando, pausa | Com suporte | Sem Suporte |
| fechamento do iterador, lançamento | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| literais octais | Com suporte | Sem Suporte |
| Literais binários | Com suporte | Sem Suporte |
| octal suportado por Número () | Sem Suporte | Sem Suporte |
| binário compatível com Number() | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| Conversão de toString | Com suporte | Sem Suporte |
| literais de modelo marcado | Com suporte | Sem Suporte |
| a matriz passada está congelada | Com suporte | Sem Suporte |
| normalização de quebra de linha | Não permitido | Não permitido |
| Cache do site de chamada TemplateStrings | Com suporte | Sem Suporte |
| Cache permanente de TemplateStrings | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Sinalizador "y" | Com suporte | Sem Suporte |
| Sinalizador "y", lastIndex | Com suporte | Sem Suporte |
| Sinalizador "u" | Sem Suporte | Sem Suporte |
| Sinalizador "u", caracteres Unicode não BMP | Sem Suporte | Sem Suporte |
| Sinalizador "u", escapes de ponto de código Unicode | Sem Suporte | Sem Suporte |
| Sinalizador "u", dobragem de maiúsculas e minúsculas | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| com matrizes | Com suporte | Sem Suporte |
| com matrizes esparsas | Com suporte | Sem Suporte |
| com cadeias de caracteres | Com suporte | Sem Suporte |
| com cadeias de caracteres de plano astral | Com suporte | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Com suporte | Sem Suporte |
| com instâncias de iteráveis genéricos | Com suporte | Sem Suporte |
| encerramento do iterador | Com suporte | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Com suporte | Sem Suporte |
| com objetos | Com suporte | Sem Suporte |
| desestruturação de objeto com elementos primários | Com suporte | Sem Suporte |
| vírgulas à direita em padrões de objeto | Com suporte | Sem Suporte |
| lança em nulo e indefinido | Com suporte | Sem Suporte |
| propriedades calculadas | Com suporte | Sem Suporte |
| múltiplos em uma única declaração de variável | Com suporte | Sem Suporte |
| aninhado | Com suporte | Sem Suporte |
| em cabeçalhos de loop for-in | Com suporte | Sem Suporte |
| em cabeçalhos de loop for-of | Com suporte | Sem Suporte |
| em cabeçalhos alternativos | Com suporte | Sem Suporte |
| descanso | Com suporte | Sem Suporte |
| padrões | Com suporte | Sem Suporte |
| padrões, deixar zona morta temporal | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| com matrizes | Com suporte | Sem Suporte |
| com matrizes esparsas | Com suporte | Sem Suporte |
| com cadeias de caracteres | Com suporte | Sem Suporte |
| com cadeias de caracteres de plano astral | Com suporte | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Com suporte | Sem Suporte |
| com instâncias de iteráveis genéricos | Com suporte | Sem Suporte |
| encerramento do iterador | Com suporte | Sem Suporte |
| expressão de desestruturação iterável | Com suporte | Sem Suporte |
| desestruturação iterável encadeada | Com suporte | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Com suporte | Sem Suporte |
| com objetos | Com suporte | Sem Suporte |
| desestruturação de objeto com elementos primários | Com suporte | Sem Suporte |
| vírgulas à direita em padrões de objeto | Com suporte | Sem Suporte |
| expressão de desestruturação de objeto | Com suporte | Sem Suporte |
| entre parênteses no lado esquerdo é um erro de sintaxe | Não permitido | Não permitido |
| desestruturação de objeto encadeado | Com suporte | Sem Suporte |
| lança em nulo e indefinido | Com suporte | Sem Suporte |
| propriedades calculadas | Com suporte | Sem Suporte |
| aninhado | Com suporte | Sem Suporte |
| descanso | Com suporte | Sem Suporte |
| descanso aninhado | Com suporte | Sem Suporte |
| padrões vazios | Com suporte | Sem Suporte |
| padrões | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| com matrizes | Com suporte | Sem Suporte |
| com matrizes esparsas | Com suporte | Sem Suporte |
| com cadeias de caracteres | Com suporte | Sem Suporte |
| com cadeias de caracteres de plano astral | Com suporte | Sem Suporte |
| com instâncias de gerador | Não permitido | Não permitido |
| com iteráveis genéricos | Com suporte | Sem Suporte |
| com instâncias de iteráveis genéricos | Com suporte | Sem Suporte |
| encerramento do iterador | Com suporte | Sem Suporte |
| vírgulas à direita em padrões iteráveis | Com suporte | Sem Suporte |
| com objetos | Com suporte | Sem Suporte |
| desestruturação de objeto com elementos primários | Com suporte | Sem Suporte |
| vírgulas à direita em padrões de objeto | Com suporte | Sem Suporte |
| lança em nulo e indefinido | Com suporte | Sem Suporte |
| propriedades calculadas | Com suporte | Sem Suporte |
| aninhado | Com suporte | Sem Suporte |
| interação "argumentos" | Com suporte | Sem Suporte |
| suporte a nova função () | Não permitido | Não permitido |
| em parâmetros, propriedade "length" da função | Com suporte | Sem Suporte |
| descanso | Com suporte | Sem Suporte |
| padrões vazios | Com suporte | Sem Suporte |
| padrões | Com suporte | Sem Suporte |
| padrões, escopo separado | Com suporte | Sem Suporte |
| padrões, suporte a nova função () | Não permitido | Não permitido |
| padrões com alias, função de seta | Com suporte | Sem Suporte |
| padrões de abreviação, função de seta | Com suporte | Sem Suporte |
| identificador duplicado | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| em cadeias de caracteres | Com suporte | Sem Suporte |
| em identificadores | Sem Suporte | Sem Suporte |
| nas definições de chave de propriedade | Sem Suporte | Sem Suporte |
| em acessos de chave de propriedade | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| em construtores | Sem Suporte | Sem Suporte |
| atribuição é um erro inicial | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| suporte básico | Com suporte | Com suporte |
| tem escopo de bloco | Com suporte | Sem Suporte |
| resolução de sombra de escopo | Com suporte | 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 de declaração de loop for | Com suporte | Sem Suporte |
| escopo de iteração de loop for-in | Com suporte | Sem Suporte |
| escopo de iteração de loop for-of | Com suporte | Sem Suporte |
| zona morta temporal | Sem Suporte | Sem Suporte |
| suporte básico (modo estrito) | Com suporte | Com suporte |
| tem escopo de bloco (modo estrito) | Com suporte | Sem Suporte |
| resolução de sombra do escopo (modo estrito) | Com suporte | 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 de declaração de loop for (modo estrito) | Com suporte | Sem Suporte |
| escopo de iteração de loop for-in (modo estrito) | Com suporte | Sem Suporte |
| escopo de iteração de loop for-of (modo estrito) | Com suporte | Sem Suporte |
| zona morta temporal (modo estrito) | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| suporte básico | Com suporte | Sem Suporte |
| tem escopo de bloco | Com suporte | Sem Suporte |
| resolução de sombra de escopo | Com suporte | Sem Suporte |
| não pode estar em declarações | Não permitido | Não permitido |
| escopo de declaração de loop for | Com suporte | Sem Suporte |
| zona morta temporal | Sem Suporte | Sem Suporte |
| escopo de iteração de loop for/for-in | Com suporte | Sem Suporte |
| parâmetro de sombreamento de vinculação de loop for-in | Não permitido | Não permitido |
| suporte básico (modo estrito) | Com suporte | Sem Suporte |
| tem escopo de bloco (modo estrito) | Com suporte | Sem Suporte |
| resolução de sombra do escopo (modo estrito) | Com suporte | Sem Suporte |
| não pode estar em declarações (modo estrito) | Não permitido | Não permitido |
| escopo de declaração de loop for (modo estrito) | Com suporte | Sem Suporte |
| zona morta temporal (modo estrito) | Sem Suporte | Sem Suporte |
| escopo de iteração de loop for/for-in (modo estrito) | Com suporte | Sem Suporte |
| parâmetro de sombreamento de vinculação de loop for-in (modo estrito) | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| declaração de função de nível de bloco | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| 0 parâmetro | Com suporte | Sem Suporte |
| 1 parâmetro, sem colchetes | Com suporte | Sem Suporte |
| parâmetros múltiplos | Com suporte | Sem Suporte |
| vinculação léxica "este" | Com suporte | Sem Suporte |
| "este" inalterado por chamada ou aplicação | Com suporte | Sem Suporte |
| não pode ser vinculado, pode ser modificado | Com suporte | Sem Suporte |
| vinculação de "argumentos" lexicais | Com suporte | 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 "prototype" | Sem Suporte | Sem Suporte |
| vinculação "super" léxica em construtores | Com suporte | Sem Suporte |
| vinculação "super" léxica em métodos | Com suporte | Sem Suporte |
| vinculação léxica "new.target" | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| declaração de classe | Com suporte | Sem Suporte |
| tem escopo de bloco | Com suporte | Sem Suporte |
| expressão de classe | Com suporte | Sem Suporte |
| classe anônima | Com suporte | Sem Suporte |
| construtor | Com suporte | Sem Suporte |
| métodos de protótipo | Com suporte | Sem Suporte |
| métodos com chave de cadeia de caracteres | Com suporte | Sem Suporte |
| métodos de protótipo computado | Com suporte | Sem Suporte |
| ponto e vírgula opcionais | Com suporte | Sem Suporte |
| métodos estáticos | Com suporte | Sem Suporte |
| métodos estáticos calculados | Com suporte | Sem Suporte |
| propriedades do acessador | Com suporte | Sem Suporte |
| propriedades do acessador calculado | Com suporte | Sem Suporte |
| propriedades do acessador estático | Com suporte | Sem Suporte |
| propriedades do acessador estático calculado | Com suporte | Sem Suporte |
| o nome da classe tem escopo léxico | Com suporte | Sem Suporte |
| nomes calculados, zona morta temporal | Sem suporte | Sem Suporte |
| métodos não são enumeráveis | Com suporte | Sem Suporte |
| modo estrito implícito | Sem Suporte | Sem Suporte |
| construtor requer novo | Com suporte | Sem Suporte |
| estendidos | Com suporte | Sem Suporte |
| estende expressões | Com suporte | Sem Suporte |
| estende nulo | Com suporte | Sem Suporte |
| novo.destino | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| declaração em construtores | Com suporte | Sem Suporte |
| expressão em construtores | Com suporte | Sem Suporte |
| em métodos, acesso à propriedade | Com suporte | Sem Suporte |
| em métodos, chamadas de método | Com suporte | Sem Suporte |
| chamadas de método usam a vinculação "esta" correta | Com suporte | Sem Suporte |
| chamadas de construtor usam a vinculação "new.target" correta | Com suporte | Sem Suporte |
| está vinculado estaticamente | Com suporte | Sem Suporte |
| super() invoca o construtor correto | Com suporte | Sem Suporte |
| 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 protótipos %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 *, iterador fechando via arremesso () | Não permitido | Não permitido |
| métodos do gerador de abreviação | Não permitido | Não permitido |
| métodos de gerador de abreviação 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 de abreviação, classes | Não permitido | Não permitido |
| geradores de abreviação calculados, classes | Não permitido | Não permitido |
| geradores de abreviação não podem ser construtores | Não permitido | Não permitido |
| 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 protótipo 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.class | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| argumentos do construtor | Com suporte | Sem Suporte |
| construtor requer novo | Com suporte | Sem Suporte |
| construtor aceita nulo | Com suporte | Sem Suporte |
| construtor invoca conjunto | Com suporte | Sem Suporte |
| encerramento do iterador | Com suporte | Sem Suporte |
| Map.prototype.set retorna este | Com suporte | Sem Suporte |
| A chave -0 é convertida em +0 | Com suporte | Sem Suporte |
| Map.prototype.size | Com suporte | Sem Suporte |
| Map.prototype.delete | Com suporte | Sem Suporte |
| Map.prototype.clear | Com suporte | Sem Suporte |
| Map.prototype.forCada | Com suporte | Sem Suporte |
| Map.prototype.keys | Com suporte | Sem Suporte |
| Map.prototype.values | Com suporte | Sem Suporte |
| Map.prototype.entries | Com suporte | Sem Suporte |
| Map.prototype [Symbol.iterator] | Com suporte | Sem Suporte |
| Map.prototype não é uma instância | Com suporte | Sem Suporte |
| Mapear cadeia de protótipos do iterador | Com suporte | Sem Suporte |
| Mapa [Symbol.species] | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| argumentos do construtor | Com suporte | Sem Suporte |
| construtor requer novo | Com suporte | Sem Suporte |
| construtor aceita nulo | Com suporte | Sem Suporte |
| construtor invoca adicionar | Com suporte | Sem Suporte |
| encerramento do iterador | Com suporte | Sem Suporte |
| Set.prototype.add retorna este | Com suporte | Sem Suporte |
| A chave -0 é convertida em +0 | Com suporte | Sem Suporte |
| Set.prototype.size | Com suporte | Sem Suporte |
| Definir.prototipo.excluir | Com suporte | Sem Suporte |
| Definir.prototipo.limpar | Com suporte | Sem Suporte |
| Definir.prototipo.paraCada | Com suporte | Sem Suporte |
| Set.prototype.keys | Com suporte | Sem Suporte |
| Definir.prototipo.valores | Com suporte | Sem Suporte |
| Set.prototype.entries | Com suporte | Sem Suporte |
| Set.prototype[Symbol.iterator] | Com suporte | Sem Suporte |
| Set.prototype não é uma instância | Com suporte | Sem Suporte |
| Definir cadeia de protótipos de iterador | Com suporte | Sem Suporte |
| Definir [Symbol.species] | Com suporte | Sem Suporte |
| 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 conjunto | Não permitido | Não permitido |
| objetos congelados como chaves | Não permitido | Não permitido |
| encerramento do iterador | Não permitido | Não permitido |
| WeakMap.prototype.set retorna isso | Não permitido | Não permitido |
| WeakMap.prototype.delete | Não permitido | Não permitido |
| nenhum método WeakMap.prototype.clear | Não permitido | Não permitido |
| Os métodos .has, .get e .delete aceitam elementos primários | Não permitido | Não permitido |
| WeakMap.prototype não é uma instância | Não permitido | Não permitido |
| 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 adicionar | Não permitido | Não permitido |
| encerramento do iterador | Não permitido | Não permitido |
| WeakSet.prototype.add retorna este | 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 primários | Não permitido | Não permitido |
| WeakSet.prototype não é uma instância | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| construtor requer novo | Não permitido | Não permitido |
| nenhuma propriedade "prototype" | 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 |
| "tem" manipulador | Não permitido | Não permitido |
| "tem" manipulador, instâncias de proxies | Não permitido | Não permitido |
| "tem" invariantes do manipulador | 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 |
| "aplicar" manipulador invariante | Não permitido | Não permitido |
| manipulador de "construção" | Não permitido | Não permitido |
| Invariantes do manipulador de "construir" | Não permitido | Não permitido |
| Proxy.revogável | Não permitido | Não permitido |
| Suporte Array.isArray | Não permitido | Não permitido |
| Suporte a JSON.stringify | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Refletir.get | Não permitido | Não permitido |
| Refletir.conjunto | Não permitido | Não permitido |
| Reflete.tem | Não permitido | Não permitido |
| Refletir.excluirPropriedade | Não permitido | Não permitido |
| Refletir.getOwnPropertyDescriptor | 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 |
| Refletir.preventExtensões | 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 meta-propriedade 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 |
| Subclasse de Reflect.construct, Promessa | Não permitido | Não permitido |
| 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.tudo | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Com suporte | Sem Suporte |
| suporte de tipo | Com suporte | Sem Suporte |
| as chaves de símbolo estão ocultas no código anterior ao ES6 | Com suporte | Sem Suporte |
| Suporte a Object.defineProperty | Com suporte | Sem Suporte |
| símbolos herdam de símbolo.prototipo | Com suporte | Sem Suporte |
| não pode forçar para cadeia de caracteres ou número | Sem Suporte | Sem Suporte |
| pode converter com Cadeia de caracteres () | Sem Suporte | Sem Suporte |
| novos lançamentos de símbolo () | Com suporte | Sem Suporte |
| Objeto (símbolo) | Sem Suporte | Sem Suporte |
| JSON.stringify ignora símbolos primários | Com suporte | Sem Suporte |
| JSON.stringify ignora objetos de símbolo | Sem Suporte | Sem Suporte |
| registro de símbolo global | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Símbolo.temInstância | Não permitido | Não permitido |
| Símbolo.éContactávelEspalhável | Não permitido | Não permitido |
| Símbolo.iterator, existência | Não permitido | Não permitido |
| Símbolo.iterator, objeto de argumentos | Não permitido | Não permitido |
| Símbolo.espécies, 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, matriz.prototipo.filtro | Não permitido | Não permitido |
| Símbolo.espécie, matriz.prototipo.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.prototype[Symbol.split] | Não permitido | Não permitido |
| Símbolo.espécie, Promessa.prototipo.então | Não permitido | Não permitido |
| Símbolo.substituir | Não permitido | Não permitido |
| Símbolo.search | Não permitido | Não permitido |
| Símbolo.dividido | Não permitido | Não permitido |
| Símbolo.correspondência | Não permitido | Não permitido |
| Construtor de Símbolo.correspondência, RegExp | Não permitido | Não permitido |
| Correspondência.símbolo, String.prototype.startsWith | Não permitido | Não permitido |
| Correspondência.símbolo, String.prototype.endsWith | Não permitido | Não permitido |
| Correspondência.símbolo, cadeia de caracteres.prototipo.inclui | Não permitido | Não permitido |
| Símbolo.paraPrimitivo | Não permitido | Não permitido |
| Símbolo.paraTagDeCadeiadecadeia | Não permitido | Não permitido |
| A propriedade "Symbol.toStringTag" afeta os internos existentes | Não permitido | Não permitido |
| Símbolo.toStringTag, novos internos | Não permitido | Não permitido |
| Símbolo.toStringTag, diversos. internos | Não permitido | Não permitido |
| Símbolos.uncopables | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.atribuir | Com suporte | Sem Suporte |
| Objeto.é | Com suporte | Sem Suporte |
| Objeto.getOwnPropertySymbols | Com suporte | Sem Suporte |
| Objeto.setPrototypeOf | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| declarações de função | Com suporte | Com suporte |
| expressões de função | Com suporte | Com suporte |
| nova função | Sem Suporte | Sem Suporte |
| funções vinculadas | Sem Suporte | Sem Suporte |
| variáveis (função) | Com suporte | Sem Suporte |
| métodos de objeto (função) | Com suporte | Sem Suporte |
| propriedades do acessador | Sem Suporte | Sem Suporte |
| métodos de abreviação | Com suporte | Sem Suporte |
| métodos abreviados (sem vinculação léxica) | Com suporte | Sem Suporte |
| métodos com chave de símbolo | Sem Suporte | Sem Suporte |
| declarações de classe | Com suporte | Sem Suporte |
| expressões de classe | Com suporte | Sem Suporte |
| variáveis (classe) | Com suporte | Sem Suporte |
| métodos de objeto (classe) | Sem Suporte | Sem Suporte |
| métodos de protótipo de classe | Com suporte | Sem Suporte |
| métodos estáticos de classe | Com suporte | Sem Suporte |
| não é gravável, é configurável | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Cadeia de caracteres.raw | Com suporte | Sem Suporte |
| Cadeia de caracteres.deCodePoint | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Cadeia de caracteres.prototype.codePointAt | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.normalize | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.repeat | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.startsWith | Com suporte | Com suporte |
| String.prototype.startsWith é lançado em RegExp | Sem Suporte | Sem Suporte |
| Cadeia de caracteres.prototype.endsWith | Com suporte | Com suporte |
| String.prototype.endsWith é lançado no RegExp | Sem Suporte | Sem Suporte |
| Cadeia de caracteres.prototype.includes | Com suporte | Com suporte |
| String.prototype[Symbol.iterator] | Com suporte | Sem Suporte |
| Cadeia de protótipo de iterador de cadeia de caracteres | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| RegExp.prototype.flags | Com suporte | Sem Suporte |
| RegExp.prototype[Symbol.match] | Sem Suporte | Sem Suporte |
| RegExp.prototype[Symbol.replace] | Com suporte | Sem Suporte |
| RegExp.prototype[Symbol.split] | Com suporte | Sem Suporte |
| RegExp.prototype[Symbol.search] | Sem Suporte | Sem Suporte |
| RegExp[Symbol.species] | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.from, objetos semelhantes a matriz | Com suporte | Sem Suporte |
| Array.from, instâncias do gerador | Não permitido | Não permitido |
| Array.from, iteráveis genéricos | Com suporte | Sem Suporte |
| Array.from, instâncias de iteráveis genéricos | Com suporte | Sem Suporte |
| Função de mapa Array.from, objetos semelhantes a matriz | Com suporte | Sem Suporte |
| Função de mapa Array.from, instâncias do gerador | Não permitido | Não permitido |
| Função de mapa Array.from, iteráveis genéricos | Com suporte | Sem Suporte |
| Função de mapa Array.from, instâncias de iteráveis | Com suporte | Sem Suporte |
| Array.from, iterador fechando | Com suporte | Sem Suporte |
| Matriz.de | Com suporte | Sem Suporte |
| Matriz [Symbol.species] | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.prototype.copyWithin | Com suporte | Sem Suporte |
| Array.prototype.find | Com suporte | Sem Suporte |
| Array.prototype.findIndex | Com suporte | Sem Suporte |
| Array.prototype.fill | Com suporte | Sem Suporte |
| Array.prototype.keys | Com suporte | Sem Suporte |
| Array.prototype.values | Com suporte | Sem Suporte |
| Array.prototype.entries | Com suporte | Sem Suporte |
| Array.prototype[Symbol.iterator] | Com suporte | Sem Suporte |
| Cadeia de protótipo do iterador de matriz | Com suporte | Sem Suporte |
| Array.prototype[Symbol.unscopables] | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Número.éFinito | Com suporte | Sem Suporte |
| Número.éInteiro | Com suporte | Sem Suporte |
| Number.isSafeInteger | Com suporte | Sem Suporte |
| Número.éNaN | Com suporte | Sem Suporte |
| Number.parseFloat | Não permitido | Não permitido |
| Number.parseInt | Não permitido | Não permitido |
| Número.EPSILON | Com suporte | Sem Suporte |
| Número.MIN_SAFE_INTEGER | Com suporte | Sem Suporte |
| Número.MAX_SAFE_INTEGER | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Math.clz32 | Com suporte | Sem Suporte |
| Math.imul | Com suporte | Sem Suporte |
| Math.sinal | Com suporte | Sem Suporte |
| Math.log10 | Com suporte | Sem Suporte |
| Math.log2 | Com suporte | Sem Suporte |
| Math.log1p | Com suporte | Sem Suporte |
| Math.expm1 | Com suporte | Sem Suporte |
| Math.cosh | Com suporte | Sem Suporte |
| Math.sinh | Com suporte | Sem Suporte |
| Math.tanh | Com suporte | Sem Suporte |
| Math.acosh | Com suporte | Sem Suporte |
| Math.asinh | Com suporte | Sem Suporte |
| Math.atanh | Com suporte | Sem Suporte |
| Math.trunc | Com suporte | Sem Suporte |
| Math.fund | Com suporte | Sem Suporte |
| Math.cbrt | Com suporte | Sem Suporte |
| Math.hypot | Com suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Date.prototype[Symbol.toPrimitive] | Com suporte | Sem Suporte |
| 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 protótipo correta | Não permitido | Não permitido |
| Suporte 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 |
| Matriz.prototipo.mapa | Não permitido | Não permitido |
| Array.prototype.slice | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Não permitido | Não permitido |
| cadeia de protótipo correta | Não permitido | Não permitido |
| RegExp.prototype.exec | Não permitido | Não permitido |
| RegExp.prototype.test | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| pode ser chamado | Não permitido | Não permitido |
| cadeia de protótipo correta | Não permitido | Não permitido |
| pode ser usado com "novo" | Não permitido | Não permitido |
| Função.prototipo.chamada | Não permitido | Não permitido |
| Função.prototipo.aplicar | Não permitido | Não permitido |
| Função.prototipo.bind | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Não permitido | Não permitido |
| cadeia de protótipo correta | Não permitido | Não permitido |
| Promessa.tudo | Não permitido | Não permitido |
| Promessa.corrida | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| O booliano é subclassificado | 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 pode ser subclassificado | Não permitido | Não permitido |
| O mapa pode ser subclassificado | Não permitido | Não permitido |
| O conjunto pode ser subclassificado | Não permitido | Não permitido |
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| ParaPrimitivo | Não permitido | Não permitido |
| CreateListFromArrayLike | Não permitido | Não permitido |
| operador instanceof | Não permitido | Não permitido |
| HasBinding | Não permitido | Não permitido |
| CreateDynamicFunction | 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.atribuir | Não permitido | Não permitido |
| Objeto.definirPropriedades | Não permitido | Não permitido |
| Função.prototipo.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.prototype.test | 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 |
| Array.prototype.pop | Não permitido | Não permitido |
| Array.prototype.reverse | 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 compromisso | Não permitido | Não permitido |
| Cadeia de caracteres.prototype.match | Não permitido | Não permitido |
| Cadeia de caracteres.prototype.replace | Não permitido | Não permitido |
| Cadeia de caracteres.prototype.search | Não permitido | Não permitido |
| Cadeia de caracteres.prototype.split | Não permitido | Não permitido |
| Data.prototype.toJSON | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.atribuir | 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 |
| Array.prototype.fill | Não permitido | Não permitido |
| Array.prototype.pop | Não permitido | Não permitido |
| Array.prototype.push | Não permitido | Não permitido |
| Array.prototype.reverse | 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 |
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Array.prototype.copyWithin | Não permitido | Não permitido |
| Array.prototype.pop | Não permitido | Não permitido |
| Array.prototype.reverse | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| [[Definir]] | Não permitido | Não permitido |
| Objeto.atribuir | Não permitido | Não permitido |
| Object.prototype.hasOwnProperty | Não permitido | Não permitido |
| Função.prototipo.bind | Não permitido | Não permitido |
| 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 |
| SerializeJSONObject | Não permitido | Não permitido |
| 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 |
| Object.preventExtensions | Não permitido | Não permitido |
| Objeto.estáLacrado | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.chaves | Não permitido | Não permitido |
| Objeto.getOwnPropertyNames | Não permitido | Não permitido |
| Objeto.atribuir | Não permitido | Não permitido |
| JSON.stringify | Não permitido | Não permitido |
| JSON.analisar | Não permitido | Não permitido |
| Reflect.ownKeys, ordem da chave da cadeia de caracteres | Não permitido | Não permitido |
| Reflect.ownKeys, ordem de chave de símbolo | Não permitido | Não permitido |
| 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| declaração de função de nível de bloco elevado | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| suporte básico | Não permitido | Não permitido |
| __proto__ múltiplo é um erro | Não permitido | Não permitido |
| não é uma propriedade calculada | Não permitido | Não permitido |
| não é uma propriedade de abreviação | Não permitido | Não permitido |
| não é um método de abreviação | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| obter protótipo | Não permitido | Não permitido |
| definir protótipo | 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| existência | Não permitido | Não permitido |
| os nomes dos marcadores estão em minúsculas | Não permitido | Não permitido |
| as aspas nos argumentos têm escape | Não permitido | Não permitido |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| funcionalidade básica | Não permitido | Não permitido |
| retorna este | Não permitido | Não permitido |
| 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 de caractere de controle inválidos | 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 inválidas se tornam escapes octais | Não permitido | Não permitido |
ECMAScript 2009 (ES5) recursos
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Acessadores getters | Com suporte | Com suporte |
| Acessadores definidores | Com suporte | Com suporte |
| Vírgulas finais em literais de objeto | Com suporte | Com suporte |
| Vírgulas finais em literais de matriz | Com suporte | Com suporte |
| Palavras reservadas como nomes de propriedade | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Objeto.criar | Com suporte | Com suporte |
| Objeto.definirPropriedade | Com suporte | Com suporte |
| Objeto.definirPropriedades | Com suporte | Com suporte |
| Objeto.getPrototypeOf | Com suporte | Com suporte |
| Objeto.chaves | Com suporte | Com suporte |
| Objeto.selo | Com suporte | Com suporte |
| Objeto.congelar | Com suporte | Com suporte |
| Object.preventExtensions | Com suporte | Com suporte |
| Objeto.estáLacrado | Com suporte | Com suporte |
| Objeto.estáCongelado | Com suporte | Com suporte |
| Objeto.éExtensível | Com suporte | Com suporte |
| Objeto.getOwnPropertyDescriptor | Com suporte | Com suporte |
| Objeto.getOwnPropertyNames | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Matriz.éMatriz | Com suporte | Com suporte |
| Array.prototype.indexOf | Com suporte | Com suporte |
| Array.prototype.lastIndexOf | Com suporte | Com suporte |
| Array.prototype.every | Com suporte | Com suporte |
| Array.prototype.some | Com suporte | Com suporte |
| Array.prototype.forCada | Com suporte | Com suporte |
| Matriz.prototipo.mapa | Com suporte | Com suporte |
| Array.prototype.filter | Com suporte | Com suporte |
| Array.prototype.reduce | Com suporte | Com suporte |
| Array.prototype.reduceRight | Com suporte | Com suporte |
| Array.prototype.class: compareFn deve ser função ou indefinido | Sem Suporte | Sem Suporte |
| Array.prototype.sort: compareFn pode ser indefinido explícito | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Acesso à propriedade em cadeias de caracteres | Com suporte | Com suporte |
| Cadeia de caracteres.prototype.split | Com suporte | Sem Suporte |
| Cadeia de caracteres.prototype.trim | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Date.prototype.toISOString | Com suporte | Com suporte |
| Data.agora | Com suporte | Com suporte |
| Data.prototype.toJSON | Sem Suporte | Sem Suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| indefinido | Com suporte | Com suporte |
| NdN | Com suporte | Com suporte |
| Infinito | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Number.prototype.toExponential arredonda corretamente | Com suporte | Com suporte |
| Number.prototype.toExponential lança em ±Digits Fração Infinita | Com suporte | Com suporte |
| Number.prototype.toExponential não gera casos de edge | Com suporte | Com suporte |
| 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 primários | Não permitido | Não permitido |
| "este" não é coagido a objeto em acessadores primários | Não permitido | Não permitido |
| o octal legado é um SyntaxError | Não permitido | Não permitido |
| a atribuição de identificadores que não podem ser resolvidos é um ReferenceError | Não permitido | Não permitido |
| atribuição para eval ou argumentos é um SyntaxError | Não permitido | Não permitido |
| atribuição a propriedades não graváveis é um TypeError | Não permitido | Não permitido |
| vinculações de eval ou 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á mapeado | 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 |
| excluir 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 é 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 |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| Função.prototipo.bind | Com suporte | Com suporte |
| Recurso | ECMAScript 2021 (ES12) | Padrões ES5 |
|---|---|---|
| JSON | Com suporte | Com suporte |