Suporte ao recurso do mecanismo JavaScript
Compare os recursos do ECMAScript entre os modos ECMAScript 2021 (ES12) e ES5 Standards JavaScript em Yokohama. 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.
Definições de suporte
- 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)
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.
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Array.prototype.at() | Sem Suporte | Sem Suporte |
| String.prototype.at() | Compatível | Sem Suporte |
| %TypedArray%.prototype.at() | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Funcionalidade básica | Compatível | Sem Suporte |
| ToObject chamado antes de ToPropertyKey | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| o construtor oferece suporte a ele | Sem Suporte | Sem Suporte |
| aparece em sinalizadores | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Verificações ergonômicas de marca para campos privados | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Blocos de inicialização estática de classe | Compatível | Sem Suporte |
Recursos do ECMAScript 2021 (ES12)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| execução | Não permitido | Não permitido |
| Erro agregado | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Suporte mínimo para WeakRef | Não permitido | Não permitido |
| Suporte mínimo para FinalizationRegistry | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| ||= 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| separadores numéricos | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| String.prototype.replaceAll | Compatível | Compatível |
Recursos do ECMAScript 2020 (ES11)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| funcionalidade básica | Compatível | Sem Suporte |
| lança em regex não global | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Promessa.tudoConsolidado | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| operador de aglutinação nullish (??) | Compatível | Sem Suporte |
Recursos do ECMAScript 2019 (ES10)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| básico | Compatível | Sem Suporte |
| descrição vazia | Compatível | Sem Suporte |
| descrição indefinida | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Objeto.deEntradas | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| básico | Não permitido | Não permitido |
| aguardar | Não permitido | Não permitido |
| rendimento | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| JSON.stringify bem formado | Não permitido | Não permitido |
Recursos do ECMAScript 2018 (ES9)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| propriedades de REST de objeto | Compatível | Sem Suporte |
| propriedades de propagação de objeto | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| geradores assíncronos | Não permitido | Não permitido |
| Loops for-await-of | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Sinalizador s (dotAll) para expressões regulares | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Grupos de captura nomeados RegExp | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Asserções de Lookbehind de RegExp | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Escapes de propriedade Unicode RegExp | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| revisão literal do modelo | Não permitido | Não permitido |
Recursos do ECMAScript 2017 (ES8)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| String.prototype.padStart | Compatível | Sem Suporte |
| String.prototype.padEnd | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| em listas de parâmetros | Compatível | Sem Suporte |
| em listas de argumentos | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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.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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| __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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| __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 |
Recursos do ECMAScript 2016 (ES7)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
Recursos do ECMAScript 2015 (ES6)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| recursão direta | Não permitido | Não permitido |
| recursão mútua | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| funcionalidade básica | Compatível | Sem Suporte |
| propriedade de 'comprimento' da função | Compatível | Sem Suporte |
| argumentos objeto interação | 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 | Compatível | Sem Suporte |
| com matrizes esparsas, em literais de matriz | Compatível | Sem Suporte |
| com cadeias de caracteres, em chamadas de função | Compatível | 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 | Compatível | 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 | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| em construtores | Sem Suporte | Sem Suporte |
| atribuição é um erro inicial | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| declaração de função no nível de bloco | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Objeto.atribuição | Compatível | Sem Suporte |
| Object.is | Compatível | Sem Suporte |
| Objeto.getOwnPropertySymbols | Compatível | Sem Suporte |
| Objeto.setPrototypeOf | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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) | Compatível | 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Cadeia de caracteres.raw | Compatível | Sem Suporte |
| String.fromCodePoint | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Date.prototype[Symbol.toPrimitive] | Compatível | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| ParaPrimitivo | Não permitido | Não permitido |
| CriarListaDeArrayLike | Não permitido | Não permitido |
| operador instanceof | Compatível | 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| [[Definir]] | Não permitido | Não permitido |
| Definir nível de integridade | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| [[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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| funcionalidade básica | Não permitido | Não permitido |
| retorna isto | Não permitido | Não permitido |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
Recursos do ECMAScript 2009 (ES5)
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Acesso à propriedade em cadeias de caracteres | Compatível | Compatível |
| String.prototype.split | Compatível | Sem Suporte |
| String.prototype.trim | Compatível | Compatível |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Data.protótipo.paraISOString | Compatível | Compatível |
| Data.agora | Compatível | Compatível |
| Data.protótipo.paraJSON | Sem Suporte | Sem Suporte |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| indefinido | Compatível | Compatível |
| NaN | Compatível | Compatível |
| Infinito | Compatível | Compatível |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| 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 |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| Função.protótipo.bind | Compatível | Compatível |
| Funcionalidade | Modo ECMAScript 2021 (ES12) | Modo ES5 Standards |
|---|---|---|
| JSON | Compatível | Compatível |