Suporte ao recurso do mecanismo JavaScript

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 37 min. de leitura
  • Compare os recursos do ECMAScript entre os modos JavaScript dos padrões ECMAScript 2021 (ES12) e ES5 em Zurich. 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 de linguagem ECMAScript (ECMA-262) em ECMA Internacional site.

    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 se alinha com ServiceNow AI Platform modelo de programação ou representa um risco de segurança ou desempenho. Recursos não permitidos resultam em um erro.

    ECMAScript 2022 (ES13)

    Importante:
    Antes de implantar o código na produção, você deve testar os scripts usando os recursos compatíveis do ECMAScript 2022 (ES13) devido ao suporte recém-adicionado e parcial dos recursos nesta versão do ECMAScript.
    Tabela 1. Campos de classe de instância
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    campos de classe de instância pública Compatível Sem Suporte
    suporte básico a campos de classe de instância privada Sem Suporte Sem Suporte
    campos de classe de instância privada inicializadores Sem Suporte Sem Suporte
    acesso opcional aos campos de classe de instância privada 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 calculados Compatível Sem Suporte
    Tabela 2. Campos de classe estática
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    campos de classe estática pública Compatível Sem Suporte
    Campos de classe estática usam [[definir]] Compatível Sem Suporte
    campos de classe estática privada Compatível Sem Suporte
    campos de classe estática calculados Compatível Sem Suporte
    Tabela 3. Métodos de classe privada
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    métodos de instância privada Sem Suporte Sem Suporte
    métodos estáticos privados Compatível Sem Suporte
    propriedades do acessador privado Sem Suporte Sem Suporte
    propriedades do acessador estático privado Compatível Sem Suporte
    Tabela 4. método .at() nos indexáveis internos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.prototype.at() Compatível Sem Suporte
    String.prototype.at() Compatível Sem Suporte
    %TypedArray%.prototype.at() Compatível Não permitido
    Tabela 5. Object.hasOwn
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Funcionalidade básica Compatível Sem Suporte
    ToObject chamado antes de ToPropertyKey Compatível Sem Suporte
    Tabela 6. Error.cause propriedade
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    O erro tem causa Compatível Sem Suporte
    Error.prototype Falta causa Compatível Sem Suporte
    EvalError tem causa Compatível Sem Suporte
    EvalError.prototype Falta causa Compatível Sem Suporte
    RangeError tem causa Compatível Sem Suporte
    RangeError.prototype Falta causa Compatível Sem Suporte
    ReferenceError tem causa Compatível Sem Suporte
    ReferenceError.prototype Falta causa Compatível Sem Suporte
    SyntaxError tem causa Compatível Sem Suporte
    SyntaxError.prototype Falta causa Compatível Sem Suporte
    TypeError tem causa Compatível Sem Suporte
    TypeError.prototype Falta causa Compatível Sem Suporte
    URIError tem causa Compatível Sem Suporte
    URIError.prototype Falta causa Compatível Sem Suporte
    AggregateError tem causa Compatível Sem Suporte
    AggregateError.prototype Falta causa Compatível Sem Suporte
    Tabela 7. Índices de correspondência de regexp (sinalizador "hasIndices" / "d")
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    o construtor oferece suporte a ele Sem Suporte Sem Suporte
    aparece em sinalizadores Sem Suporte Sem Suporte
    Tabela 8. Verificações ergonômicas de marca para campos privados
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Verificações ergonômicas de marca para campos privados Sem Suporte Sem Suporte
    Tabela 9. Blocos de inicialização estática de classe
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Blocos de inicialização estática de classe Compatível Sem Suporte

    ECMAScript 2021 (ES12)

    Tabela 10. Qualquer promessa
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    execução Compatível Não permitido
    AggregateError Compatível Não permitido
    Tabela 11. WeakReferences
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Suporte mínimo WeakRef Não permitido Não permitido
    FinalizationRegistry Suporte mínimo Não permitido Não permitido
    Tabela 12. Atribuição lógica
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Sem Suporte
    comportamento de curto-circuito Compatível Sem Suporte
    setter não invocado desnecessariamente Compatível Sem Suporte
    suporte básico Compatível Sem Suporte
    comportamento de curto-circuito Compatível Sem Suporte
    setter não invocado desnecessariamente Compatível Sem Suporte
    suporte básico Compatível Sem Suporte
    comportamento de curto-circuito Compatível Sem Suporte
    setter não invocado desnecessariamente Compatível Sem Suporte
    Tabela 13. Separadores numéricos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    separadores numéricos Compatível Sem Suporte
    Tabela 14. String.prototype.replaceAll
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    String.prototype.replaceAll Compatível Compatível

    ECMAScript 2020 (ES11)

    Tabela 15. String.prototype.matchAll
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    lança regex não global Compatível Sem Suporte
    Tabela 16. BIGINT
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    construtor Compatível Sem Suporte
    BIGINT.asUintN Compatível Sem Suporte
    BIGINT.asIntN Compatível Sem Suporte
    BigInt64Array Sem Suporte Sem Suporte
    BigUint64Array Sem Suporte Sem Suporte
    DataView.prototype.getBigInt64 Sem Suporte Sem Suporte
    DataView.prototype.getBigUint64 Sem Suporte Sem Suporte
    Tabela 17. GlobalThis
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    "GlobalThis" propriedade global é um objeto global Compatível Não permitido
    A propriedade global "globalThis" tem o descritor de propriedade correto Compatível Não permitido
    Tabela 18. Operador de encadeamento opcional (?.)
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    acesso à propriedade opcional Compatível Sem Suporte
    acesso de suporte 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 o encadeamento opcional Compatível Sem Suporte
    Tabela 19. Promise.TodosConfirmada
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Promise.TodosConfirmada Compatível Não permitido
    Tabela 20. Nullish aglutinante operador (??)
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    anular operador aglutinante (??) Compatível Sem Suporte

    ECMAScript 2019 (ES10)

    Tabela 21. Symbol.prototype.description
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    básico Compatível Sem Suporte
    descrição vazia Compatível Sem Suporte
    descrição indefinida Compatível Sem Suporte
    Tabela 22. Corte de cadeia de caracteres
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    String.prototype.trimLeft Compatível Compatível
    String.prototype.trimRight Compatível Compatível
    String.prototype.trimStart Compatível Sem Suporte
    String.prototype.trimEnd Compatível Sem Suporte
    Tabela 23. Array.prototype.{flat, flatMap)
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.prototype.flat Compatível Sem Suporte
    Array.prototype.flatMap Compatível Sem Suporte
    flat e flatMap em Array.prototype[@@unscopables] Compatível Sem Suporte
    Tabela 24. Object.fromEntries
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Object.fromEntries Compatível Sem Suporte
    Tabela 25. Vinculação de captura opcional
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    básico Compatível Não permitido
    aguardar Não permitido Não permitido
    rendimento Não permitido Não permitido
    Tabela 26. Revisão Function.prototype.toString
    Recurso Modo ECMAScript 2021 (ES12) Modo de 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
    nomes de propriedades calculadas e métodos Não permitido Não permitido
    Tabela 27. Superconjunto JSON
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    O separador de linha 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
    Tabela 28. JSON.stringify bem formado
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    JSON.stringify bem formado Não permitido Não permitido

    ECMAScript 2018 (ES9)

    Tabela 29. Propriedades REST/propagação do objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    propriedades rest do objeto Compatível Sem Suporte
    propriedades de propagação do objeto Compatível Sem Suporte
    Tabela 30. Promise.prototype.finally
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Não permitido
    não mude o valor de resolução Compatível Não permitido
    valor de rejeição alterado Compatível Não permitido
    Tabela 31. Iteradores assíncronos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    geradores assíncronos Não permitido Não permitido
    loops para-await-of Não permitido Não permitido
    Tabela 32. Sinalizador S (dotAll) para expressões regulares
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Sinalizador S (dotAll) para expressões regulares Compatível Sem Suporte
    Tabela 33. Grupos de captura nomeados de regexp
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Grupos de captura nomeados de regexp Compatível Sem Suporte
    Tabela 34. Estipulações de Lookbehind de regexp
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Estipulações de Lookbehind de regexp Compatível Sem Suporte
    Tabela 35. Escapes de propriedade Unicode de regexp
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Escapes de propriedade Unicode de regexp Compatível Sem Suporte
    Tabela 36. Revisão literal do modelo
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    revisão literal do modelo Não permitido Não permitido

    ECMAScript 2017 (ES8)

    Tabela 37. Métodos estáticos de objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Object.Values Compatível Sem Suporte
    Object.Entries Compatível Sem Suporte
    Object.getOwnProperty Descriptors Compatível Sem Suporte
    Object.getOwnPropertyDescriptors não fornece descritores indefinidos Sem Suporte Sem Suporte
    Tabela 38. Preenchimento de cadeia de caracteres
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    String.prototype.padStart Compatível Sem Suporte
    String.prototype.padEnd Compatível Sem Suporte
    Tabela 39. Vírgulas à direita na sintaxe da função
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    nas listas de parâmetros Compatível Sem Suporte
    nas listas de argumentos Compatível Sem Suporte
    Tabela 40. Funções assíncronas
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    retornar Compatível Não permitido
    throw Compatível Não permitido
    nenhuma quebra de linha entre async e função Compatível Não permitido
    nenhuma propriedade "protótipo" Não permitido Não permitido
    aguardar Compatível Não permitido
    rejeitar Compatível Não permitido
    deve aguardar um valor Não permitido Não permitido
    Pode aguardar valores não prometidos Compatível Não permitido
    parâmetros não podem aguardar Não permitido Não permitido
    métodos assíncronos, literais de objeto Compatível Não permitido
    métodos assíncronos, classes Não permitido Não permitido
    funções de seta assíncrona em métodos, classes Compatível Não permitido
    funções de seta assíncrona Compatível Não permitido
    cadeia de protótipos correta Não permitido Não permitido
    Protótipo de função assíncrona, Symbol.toStringTag Não permitido Não permitido
    construtor de função assíncrona Não permitido Não permitido
    Tabela 41. Memória compartilhada e atomics
    Recurso Modo ECMAScript 2021 (ES12) Modo de 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.load Não permitido Não permitido
    Atomics.ou Não permitido Não permitido
    Atomics.store Não permitido Não permitido
    Atomics.sub Não permitido Não permitido
    Atomics.xor Não permitido Não permitido
    Tabela 42. Métodos getter/setter Object.prototype
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    __definieGetter__ Compatível Não permitido
    __definieGetter__, símbolos Compatível Não permitido
    __definieGetter__, ToObject(this) Não permitido Não permitido
    DefineSetter__ Compatível Não permitido
    __definieSetter__, símbolos Compatível Não permitido
    __defineSetter__, ToObject(this) Não permitido Não permitido
    __lookupGetter__ Compatível Não permitido
    __lookupGetter__, cadeia de protótipos Compatível Não permitido
    __lookupGetter__, símbolos Compatível Não permitido
    __lookupGetter__, ToObject(this) Não permitido Não permitido
    __lookupGetter__, as propriedades de dados podem sombrear os acessadores Não permitido Não permitido
    __lookupSetter__ Compatível Não permitido
    LookupSetter__, cadeia de protótipos Compatível Não permitido
    __lookupSetter__, símbolos Compatível Não permitido
    __lookupSetter__, ToObject(this) Não permitido Não permitido
    __lookupSetter__, as propriedades de dados podem sombrear os acessadores Não permitido Não permitido
    Tabela 43. Chamadas internas de proxy, métodos getter/setter
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    __definieGetter__ Compatível Não permitido
    DefineSetter__ Compatível Não permitido
    __lookupGetter__ Compatível Não permitido
    __lookupSetter__ Compatível Não permitido

    ECMAScript 2016 (ES7)

    Tabela 44. Operador de exponenciação (**)
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Sem Suporte
    atribuição Compatível Sem Suporte
    erro de sintaxe anterior para negação unária sem parênteses Não permitido Não permitido
    Tabela 45. Array.prototype.includes
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.prototype.includes Compatível Sem Suporte
    Array.prototype.includes é genérico Sem Suporte Sem Suporte
    TypedArray%.prototype.includes Compatível Não permitido

    ECMAScript 2015 (ES6)

    Tabela 46. Chamadas finais apropriadas (otimização de chamadas finais)
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    recursão direta Não permitido Não permitido
    recursão mútua Não permitido Não permitido
    Tabela 47. Parâmetros de função padrão
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    adiamentos explícitos indefinidos para o padrão Compatível Sem Suporte
    os padrões podem se referir a parâmetros anteriores Compatível Sem Suporte
    interação do objeto de argumentos Compatível Sem Suporte
    zona morta temporal Não permitido Não permitido
    escopo separado Compatível Sem Suporte
    Novo suporte a função() Não permitido Não permitido
    Tabela 48. Parâmetros REST
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    propriedade "comprimento" da função Compatível Sem Suporte
    interação do objeto de argumentos Sem Suporte Sem Suporte
    não pode ser usado em definidores Não permitido Não permitido
    Novo suporte a função() Não permitido Não permitido
    Tabela 49. Sintaxe de propagação para objetos iteráveis
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    com matrizes, em chamadas de função Compatível Sem Suporte
    com matrizes, em literais de matriz Compatível Sem Suporte
    com matrizes dispersas, em chamadas de função Compatível Sem Suporte
    com matrizes dispersas, 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 do gerador, em chamadas Não permitido Não permitido
    com instâncias do 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
    espalhar não iteráveis é um erro de tempo de execução Compatível Sem Suporte
    Tabela 50. Extensões literais do objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    propriedades calculadas Compatível Sem Suporte
    propriedades resumidas Compatível Sem Suporte
    métodos resumidos Compatível Sem Suporte
    métodos resumidos com chave de cadeia de caracteres Compatível Sem Suporte
    métodos resumidos calculados Compatível Sem Suporte
    acessadores calculados Compatível Sem Suporte
    Tabela 51. Loops para-de
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    com matrizes Compatível Sem Suporte
    com matrizes dispersas Compatível Sem Suporte
    com cadeias de caracteres Compatível Sem Suporte
    com cadeias do plano astral Compatível Sem Suporte
    com instâncias do 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
    iterador fechando, lançar Compatível Sem Suporte
    Tabela 52. Literais octais e binários
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    literais octais Compatível Sem Suporte
    literais binários Compatível Sem Suporte
    Octal compatível com Number() Sem Suporte Sem Suporte
    Binário compatível com Number() Sem Suporte Sem Suporte
    Tabela 53. Literais do modelo
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    Conversão para Cadeia de caracteres Compatível Sem Suporte
    literais de modelo marcados Compatível Sem Suporte
    a matriz aprovada está congelada Compatível Sem Suporte
    normalização de quebra de linha Não permitido Não permitido
    TemplateStrings chamam cache do site Compatível Sem Suporte
    Cache permanente do TemplateStrings Compatível Sem Suporte
    Tabela 54. Regexp sinalizadores "y" e "u"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    sinalizador "y" Compatível Sem Suporte
    Sinalizador "y", lastIndex Compatível Sem Suporte
    sinalizador "u" Compatível Sem Suporte
    Sinalizador "u", caracteres Unicode não BMP Compatível Sem Suporte
    Sinalizador "u", escapes de ponto de código Unicode Compatível Sem Suporte
    bandeira "u", caso dobrável Compatível Sem Suporte
    Tabela 55. Desestruturação, declarações
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    com matrizes Compatível Sem Suporte
    com matrizes dispersas Compatível Sem Suporte
    com cadeias de caracteres Compatível Sem Suporte
    com cadeias do plano astral Compatível Sem Suporte
    com instâncias do 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 primitivos Compatível Sem Suporte
    vírgulas à direita em padrões de objeto Compatível Sem Suporte
    lança nulo e indefinido Compatível Sem Suporte
    propriedades calculadas Compatível Sem Suporte
    múltiplos em uma única declaração de var Compatível Sem Suporte
    aninhado Compatível Sem Suporte
    em cabeças de loop para-em Compatível Sem Suporte
    em para-de cabeças de loop Compatível Sem Suporte
    em catch heads Compatível Sem Suporte
    rest Compatível Sem Suporte
    padrões Compatível Sem Suporte
    deixar zona morta temporal Não permitido Não permitido
    Tabela 56. Desestruturação, atribuição
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    com matrizes Compatível Sem Suporte
    com matrizes dispersas Compatível Sem Suporte
    com cadeias de caracteres Compatível Sem Suporte
    com cadeias do plano astral Compatível Sem Suporte
    com instâncias do 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 primitivos Compatível Sem Suporte
    vírgulas à direita em padrões de objeto Compatível Sem Suporte
    expressão de desestruturação do objeto Compatível Sem Suporte
    o lado esquerdo com parênteses é um erro de sintaxe Não permitido Não permitido
    desestruturação de objeto encadeado Compatível Sem Suporte
    lança nulo e indefinido Compatível Sem Suporte
    propriedades calculadas Compatível Sem Suporte
    aninhado Compatível Sem Suporte
    rest Compatível Sem Suporte
    rest aninhado Compatível Sem Suporte
    padrões vazios Compatível Sem Suporte
    padrões Compatível Sem Suporte
    Tabela 57. Desestruturação, parâmetros
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    com matrizes Compatível Sem Suporte
    com matrizes dispersas Compatível Sem Suporte
    com cadeias de caracteres Compatível Sem Suporte
    com cadeias do plano astral Compatível Sem Suporte
    com instâncias do 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 primitivos Compatível Sem Suporte
    vírgulas à direita em padrões de objeto Compatível Sem Suporte
    lança nulo e indefinido Compatível Sem Suporte
    propriedades calculadas Compatível Sem Suporte
    aninhado Compatível Sem Suporte
    interação "argumentos" Compatível Sem Suporte
    Novo suporte a função() Não permitido Não permitido
    em parâmetros, a propriedade "length" 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
    escopo separado Compatível Sem Suporte
    Suporte a new function() Não permitido Não permitido
    padrão com alias, função de seta Compatível Sem Suporte
    padrão de abreviação, função de seta Compatível Sem Suporte
    identificador duplicado Não permitido Não permitido
    Tabela 58. Pontos de código Unicode escapes
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    em cadeias de caracteres Compatível 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
    Tabela 59. New.target
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    em construtores Sem Suporte Sem Suporte
    a atribuição é um erro inicial Não permitido Não permitido
    Tabela 60. Const
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Compatível
    tem escopo de bloco Compatível Sem Suporte
    resolução de sombra do escopo Compatível Sem Suporte
    não pode estar nas declarações Não permitido Não permitido
    redefinir uma const é um erro Não permitido Não permitido
    para o escopo da declaração de loop Compatível Sem Suporte
    escopo de iteração de loop para-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
    para escopo de declaração de loop (modo estrito) Compatível Sem Suporte
    escopo de iteração de loop para-in (modo estrito) Compatível Sem Suporte
    escopo de iteração de loop for-of (modo estrito) Compatível Sem Suporte
    zona morta temporal (modo estrito) Sem Suporte Sem Suporte
    Tabela 61. .
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Sem Suporte
    tem escopo de bloco Compatível Sem Suporte
    resolução de sombra do escopo Compatível Sem Suporte
    não pode estar nas declarações Não permitido Não permitido
    para o escopo da declaração de loop 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 para-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
    para escopo de declaração de loop (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 para-in (modo estrito) Não permitido Não permitido
    Tabela 62. Declaração de função em nível de bloco
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    declaração de função em nível de bloco Compatível Sem Suporte
    Tabela 63. Funções de seta
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    0 parâmetros Compatível Sem Suporte
    1 parâmetro, sem colchetes Compatível Sem Suporte
    vários parâmetros Compatível Sem Suporte
    vinculação lexical "this" Compatível Sem Suporte
    "este" inalterado por chamada ou aplicar Compatível Sem Suporte
    não pode ser vinculado, pode ser curried Compatível Sem Suporte
    vinculação de "argumentos" lexical 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 "protótipo" Sem Suporte Sem Suporte
    "super" vinculação lexical em construtores Compatível Sem Suporte
    "super" vinculação lexical em métodos Compatível Sem Suporte
    vinculação lexical "new.target" Sem Suporte Sem Suporte
    Tabela 64. Classe
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    declaração de classe Compatível Sem Suporte
    tem escopo de bloco Compatível Sem Suporte
    expressão de classe Compatível Sem Suporte
    classe anônima Compatível Sem Suporte
    construtor Compatível Sem Suporte
    métodos de protótipo Compatível Sem Suporte
    métodos com chave de cadeia de caracteres Compatível Sem Suporte
    métodos de protótipo calculados Compatível Sem Suporte
    ponto-e-vírgula opcionais 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 calculadas Compatível Sem Suporte
    propriedades do acessador estático Compatível Sem Suporte
    propriedades do acessador estático calculadas Compatível Sem Suporte
    o nome da classe tem escopo lexicamente definido Compatível Sem Suporte
    nomes calculados, zona morta temporal Sem Suporte Sem Suporte
    os métodos não são enumeráveis Compatível Sem Suporte
    modo estrito implícito Sem Suporte Sem Suporte
    o 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
    new.target Compatível Sem Suporte
    Tabela 65. Super
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    declaração em construtores Compatível Sem Suporte
    expressão em construtores Compatível Sem Suporte
    em métodos, acesso à propriedade Compatível Sem Suporte
    em métodos, o método chama Compatível Sem Suporte
    as chamadas de método usam a vinculação "this" correta Compatível Sem Suporte
    as chamadas do construtor usam a vinculação "new.target" correta Compatível Sem Suporte
    está vinculado estaticamente Compatível Sem Suporte
    super() invoca o construtor correto Compatível Sem Suporte
    Tabela 66. Geradores
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Não permitido
    expressões de função do gerador Compatível Não permitido
    vinculação "this" correta Compatível Não permitido
    não é possível usar "isto" com novo Compatível Não permitido
    enviando Compatível 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%.Lançamento Não permitido Não permitido
    %GeneratorPrototype%.Retornar Não permitido Não permitido
    precedência do operador de rendimento Não permitido Não permitido
    rendimento *, matrizes Compatível Não permitido
    matrizes dispersas de rendimento * Compatível Não permitido
    rendimento *, cadeias de caracteres Compatível Não permitido
    cadeias de caracteres do plano astral Compatível Não permitido
    rendimento *, instâncias do gerador Compatível Não permitido
    rendimento *, iteráveis genéricos Compatível Não permitido
    rendimento *, instâncias de iteráveis Compatível Não permitido
    rendimento * em não iteráveis é um erro de tempo de execução Compatível Não permitido
    rendimento *, fechamento do iterador Compatível Não permitido
    rendimento *, fechamento do iterador via throw() Compatível Não permitido
    métodos de gerador resumidos Compatível Não permitido
    métodos de gerador de abreviação com chave de cadeia de caracteres Compatível Não permitido
    geradores resumidos calculados Compatível Não permitido
    métodos de gerador resumidos, classes Compatível Não permitido
    geradores resumidos calculados, classes Compatível Não permitido
    geradores resumidos não podem ser construtores Não permitido Não permitido
    Tabela 67. Matrizes digitadas
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Int8Array Compatível Não permitido
    Uint8Array Compatível Não permitido
    Uint8ClampedArray Compatível Não permitido
    Int16Array Compatível Não permitido
    Uint16Array Compatível Não permitido
    Int32Array Compatível Não permitido
    Uint32Array Compatível Não permitido
    Float32Array Compatível Não permitido
    Float64Array Compatível Não permitido
    Dataview (Int8) Compatível Não permitido
    Dataview (UINT8) Compatível Não permitido
    DataView (Int16) Compatível Não permitido
    Dataview (UINT16) Compatível Não permitido
    Dataview (Int32) Compatível Não permitido
    Dataview (UINT32) Compatível Não permitido
    Dataview (Float32) Compatível Não permitido
    Dataview (Float64) Compatível Não permitido
    ArrayBuffer[Symbol.Species] Compatível Não permitido
    construtores exigem novo Compatível Não permitido
    construtores aceitam iteráveis genéricos Compatível Não permitido
    cadeias de protótipos corretas Não permitido Não permitido
    TypedArray%.De Compatível Não permitido
    TypedArray%.of Compatível Não permitido
    TypedArray%.prototype.subarray Compatível Não permitido
    TypedArray%.prototype.join Compatível Não permitido
    TypedArray%.prototype.indexOf Compatível Não permitido
    TypedArray%.prototype.lastIndexOf Compatível Não permitido
    TypedArray%.prototype.slice Compatível Não permitido
    TypedArray%.prototype.every Compatível Não permitido
    TypedArray%.prototype.filter Compatível Não permitido
    TypedArray%.prototype.foreach Compatível Não permitido
    TypedArray%.prototype.map Compatível Não permitido
    TypedArray%.prototype.reduce Compatível Não permitido
    TypedArray%.prototype.reduceRight Compatível Não permitido
    TypedArray%.prototype.reverse Compatível Não permitido
    TypedArray%.prototype.Alguns Compatível Não permitido
    TypedArray%.prototype.sort Compatível Não permitido
    TypedArray%.prototype.copyWithin Compatível Não permitido
    TypedArray%.prototype.find Compatível Não permitido
    TypedArray%.prototype.findIndex Compatível Não permitido
    TypedArray%.prototype.fill Compatível Não permitido
    TypedArray%.prototype.keys Compatível Não permitido
    TypedArray%.prototype.values Compatível Não permitido
    TypedArray%.prototype.Entries Compatível Não permitido
    TypedArray%.prototype[Symbol.iterator] Compatível Não permitido
    TypedArray%[Symbol.Species] Não permitido Não permitido
    Tabela 68. Mapa
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    argumentos do construtor Compatível Sem Suporte
    o construtor requer novo Compatível Sem Suporte
    o 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 isso Compatível Sem Suporte
    -0 chave converte em 0 Compatível Sem Suporte
    Map.prototype.size Compatível Sem Suporte
    Map.prototype.delete Compatível Sem Suporte
    Map.prototype.clear Compatível Sem Suporte
    Map.prototype.forEach 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
    Cadeia de protótipos do iterador de mapa Compatível Sem Suporte
    Mapa[Symbol.Species] Compatível Sem Suporte
    Tabela 69. Conjunto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    argumentos do construtor Compatível Sem Suporte
    o construtor requer novo Compatível Sem Suporte
    o construtor aceita nulo Compatível Sem Suporte
    o construtor invoca adicionar Compatível Sem Suporte
    fechamento do iterador Compatível Sem Suporte
    Set.prototype.add retorna isso Compatível Sem Suporte
    -0 chave converte em 0 Compatível Sem Suporte
    Set.prototype.size Compatível Sem Suporte
    Set.prototype.delete Compatível Sem Suporte
    Set.prototype.clear Compatível Sem Suporte
    Set.prototype.forEach Compatível Sem Suporte
    Set.prototype.keys Compatível Sem Suporte
    Set.prototype.values Compatível Sem Suporte
    Set.prototype.entries Compatível Sem Suporte
    Set.prototype[Symbol.iterator] Compatível Sem Suporte
    Set.prototype não é uma instância Compatível Sem Suporte
    Cadeia de protótipos do iterador Compatível Sem Suporte
    Definir[Symbol.Species] Compatível Sem Suporte
    Tabela 70. WeakMap
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Não permitido
    argumentos do construtor Compatível Não permitido
    o construtor requer novo Compatível Não permitido
    o construtor aceita nulo Compatível Não permitido
    o construtor invoca o conjunto Compatível Não permitido
    objetos congelados como chaves Compatível Não permitido
    fechamento do iterador Compatível Não permitido
    WeakMap.prototype.set retorna isso Compatível Não permitido
    WeakMap.prototype.delete Compatível Não permitido
    nenhum método WeakMap.prototype.clear Compatível Não permitido
    os métodos .has, .get e .delete aceitam primitivos Não permitido Não permitido
    WeakMap.prototype não é uma instância Não permitido Não permitido
    Tabela 71. WeakSet
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Não permitido
    argumentos do construtor Compatível Não permitido
    o construtor requer novo Compatível Não permitido
    o construtor aceita nulo Compatível Não permitido
    o construtor invoca adicionar Compatível Não permitido
    fechamento do iterador Compatível Não permitido
    WeakSet.prototype.add retorna isso Compatível Não permitido
    WeakSet.prototype.delete Compatível Não permitido
    nenhum método WeakSet.prototype.clear Compatível Não permitido
    os métodos .has e .delete aceitam primitivos Não permitido Não permitido
    WeakSet.prototype não é uma instância Não permitido Não permitido
    Tabela 72. Proxy
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    o construtor requer novo Compatível Não permitido
    nenhuma propriedade "protótipo" Compatível Não permitido
    manipulador "obter" Compatível Não permitido
    manipulador "get", instâncias de proxies Compatível Não permitido
    invariantes do manipulador "get" Compatível Não permitido
    manipulador "definir" Compatível Não permitido
    manipulador "definir", instâncias de proxies Compatível Não permitido
    invariantes do manipulador "definir" Compatível Não permitido
    manipulador "tem" Compatível Não permitido
    manipulador "tem", instâncias de proxies Compatível Não permitido
    manipulador "tem" invariantes Compatível Não permitido
    Manipulador "deleteProperty" Compatível Não permitido
    Manipulador "deleteProperty" invariante Compatível Não permitido
    Manipulador "getOwnPropertyDescriptor" Compatível Não permitido
    Invariantes do manipulador "getOwnPropertyDescriptor" Compatível Não permitido
    Manipulador "defineProperty" Compatível Não permitido
    Invariantes do manipulador "defineProperty" Compatível Não permitido
    Manipulador "getPrototypeOf" Compatível Não permitido
    Manipulador "getPrototypeOf" invariante Compatível Não permitido
    Manipulador "setPrototypeOf" Compatível Não permitido
    Manipulador "setPrototypeOf" invariante Compatível Não permitido
    Manipulador "isExtensible" Compatível Não permitido
    Manipulador "isExtensible" invariante Compatível Não permitido
    Manipulador "preventExtensions" Compatível Não permitido
    Manipulador "preventExtensions" invariante Compatível Não permitido
    Manipulador "ownKeys" Compatível Não permitido
    Manipulador "ownKeys" invariante Compatível Não permitido
    manipulador "aplicar" Compatível Não permitido
    manipulador "aplicar" invariante Compatível Não permitido
    manipulador "construir" Compatível Não permitido
    invariantes do manipulador "construir" Compatível Não permitido
    Proxy.revogável Compatível Não permitido
    Suporte a array.isArray Compatível Não permitido
    Suporte a JSON.stringify Compatível Não permitido
    Tabela 73. Refletir
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Refletir.Obter Não permitido Não permitido
    Reflect.set Não permitido Não permitido
    Refletir.Tem Não permitido Não permitido
    Reflect.deleteProperty Não permitido Não permitido
    Reflect.getOwnProperty Descriptor Não permitido Não permitido
    Reflect.defineProperty Não permitido Não permitido
    Refletir.getPrototypeOf Não permitido Não permitido
    Reflect.setPrototypeOf Não permitido Não permitido
    Reflect.isExtensible 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 a meta-propriedade new.target Não permitido Não permitido
    Reflect.construct cria instâncias do terceiro argumento Não permitido Não permitido
    Reflect.construct, Subclasse de matriz Não permitido Não permitido
    Reflect.construct, subclasse RegExp Não permitido Não permitido
    Reflect.construct, subclasse de função Não permitido Não permitido
    Reflect.construct, subclasse de promessa Não permitido Não permitido
    Tabela 74. Promessa
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Não permitido
    o construtor requer novo Compatível Não permitido
    Promise.prototype não é uma instância Compatível Não permitido
    Promise.ALL Compatível Não permitido
    Promise.all, iteráveis genéricos Compatível Não permitido
    Promise.race Compatível Não permitido
    Promise.race, iteráveis genéricos Compatível Não permitido
    Promessa[Symbol.Species] Compatível Não permitido
    Tabela 75. Símbolo
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Sem Suporte
    tipo de suporte Compatível Sem Suporte
    As chaves de símbolo estão ocultas para o código anterior ao ES6 Compatível Sem Suporte
    Suporte Object.defineProperty Compatível Sem Suporte
    Os símbolos herdam de Symbol.prototype Compatível Sem Suporte
    não é possível coagir para cadeia de caracteres ou número Compatível Sem Suporte
    Pode converter com cadeia de caracteres () Compatível Sem Suporte
    Novo símbolo () lança Compatível Sem Suporte
    Object(symbol) Sem Suporte Sem Suporte
    JSON.stringify ignora primitivos de símbolo Compatível Sem Suporte
    JSON.stringify ignora objetos de símbolo Sem Suporte Sem Suporte
    registro de símbolo global Compatível Sem Suporte
    Tabela 76. Símbolos conhecidos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Symbol.hasInstance Compatível Não permitido
    Symbol.isConcatSpreadable Compatível Não permitido
    Symbol.iterator, existência Compatível Não permitido
    Symbol.iterator, objeto de argumentos Compatível Não permitido
    Símbol.Espécie, Existência Compatível 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, Array.prototype.map 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, Promise.prototype.then Não permitido Não permitido
    Símbolo.Substituir Compatível Não permitido
    Symbol.search Compatível Não permitido
    Symbol.split Compatível Não permitido
    Symbol.match Compatível Não permitido
    Symbol.match, construtor RegExp Não permitido Não permitido
    Símbolo.correspondência, String.prototype.startsWith Não permitido Não permitido
    Símbolo.correspondência, String.prototype.endsWith Não permitido Não permitido
    Símbolo.correspondência, String.prototype.includes Não permitido Não permitido
    Symbol.toPrimitivo Compatível Não permitido
    Symbol.toStringTag Compatível Não permitido
    Symbol.toStringTag afeta os internos existentes Compatível Não permitido
    Symbol.toStringTag, novos internos Compatível Não permitido
    Symbol.toStringTag, misc. internos Compatível Não permitido
    Symbol.não escopables Compatível Não permitido
    Tabela 77. Métodos estáticos de objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Objeto.Atribuir Compatível Sem Suporte
    Object.is Compatível Sem Suporte
    Object.getOwnPropertySymbols Compatível Sem Suporte
    Object.setPrototypeOf Compatível Sem Suporte
    Tabela 78. Propriedade "nome" da função
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    declarações de função Compatível Compatível
    expressões de função Compatível Compatível
    Nova função Sem Suporte Sem Suporte
    funções vinculadas Sem Suporte Sem Suporte
    variáveis (função) Compatível Sem Suporte
    métodos de objeto (função) Compatível Sem Suporte
    propriedades do acessador Sem Suporte Sem Suporte
    métodos resumidos Compatível Sem Suporte
    métodos resumidos (sem vinculação lexical) Compatível Sem Suporte
    métodos com 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 protótipo de classe Compatível Sem Suporte
    métodos estáticos de classe Compatível Sem Suporte
    não é gravável, é configurável Compatível Sem Suporte
    Tabela 79. Métodos estáticos de cadeia de caracteres
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Cadeia de caracteres.raw Compatível Sem Suporte
    String.fromCodePoint Compatível Sem Suporte
    Tabela 80. String.prototype métodos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    String.prototype.codePointAt Compatível Compatível
    String.prototype.normalize Compatível Compatível
    String.prototype.repeat Compatível Compatível
    String.prototype.startsWith Compatível Compatível
    String.prototype.startsWith lances em RegExp Sem Suporte Sem Suporte
    String.prototype.endsWith Compatível Compatível
    String.prototype.endsWith lances em RegExp Sem Suporte Sem Suporte
    String.prototype.includes Compatível Compatível
    String.prototype[Symbol.iterator] Compatível Sem Suporte
    Cadeia de protótipos do iterador de cadeia de caracteres Compatível Sem Suporte
    Tabela 81. RegExp.prototype propriedades
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    RegExp.prototype.flags Compatível Sem Suporte
    RegExp.prototype[Symbol.match] Compatível Sem Suporte
    RegExp.prototype[Symbol.replace] Compatível Sem Suporte
    RegExp.prototype[Symbol.split] Compatível Sem Suporte
    RegExp.prototype[Symbol.search] Compatível Sem Suporte
    Regexp[Symbol.Species] Compatível Sem Suporte
    Tabela 82. Métodos estáticos de matriz
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.from, objetos semelhantes a matrizes Compatível Sem Suporte
    Array.from, instâncias do gerador Compatível 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 do gerador Compatível Não permitido
    Função de mapa Array.from, iteráveis genéricos Compatível Sem Suporte
    Função de mapa Array.from, instâncias de iteráveis Compatível Sem Suporte
    Array.from, fechamento do iterador Compatível Sem Suporte
    Matriz.de Compatível Sem Suporte
    Matriz[Symbol.Species] Compatível Sem Suporte
    Tabela 83. Array.prototype métodos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.prototype.copyWithin Compatível Sem Suporte
    Array.prototype.find Compatível Sem Suporte
    Array.prototype.findIndex Compatível Sem Suporte
    Array.prototype.fill Compatível Sem Suporte
    Array.prototype.keys Compatível Sem Suporte
    Array.prototype.values Compatível Sem Suporte
    Array.prototype.entries Compatível Sem Suporte
    Array.prototype[Symbol.iterator] Compatível Sem Suporte
    Cadeia de protótipos do iterador de matriz Compatível Sem Suporte
    Array.prototype[Symbol.unscopables] Compatível Sem Suporte
    Tabela 84. Propriedades de número
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Número.IsFinite Compatível Sem Suporte
    Número.isInteger Compatível Sem Suporte
    Número.isSafeInteger Compatível Sem Suporte
    Número.isNaN Compatível Sem Suporte
    Number.parseFloat Compatível Não permitido
    Number.parseInt Compatível Não permitido
    EPSILON Compatível Sem Suporte
    NUMBER.MIN_SAFE_INTEGER Compatível Sem Suporte
    NUMBER.MAX_SAFE_INTEGER Compatível Sem Suporte
    Tabela 85. Métodos de matemática
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Math.clz32 Compatível Sem Suporte
    Math.imul Compatível Sem Suporte
    Math.sign 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
    Math.atanh Compatível Sem Suporte
    Math.trunc Compatível Sem Suporte
    Math.fround Compatível Sem Suporte
    Math.cbrt Compatível Sem Suporte
    Math.hypot Compatível Sem Suporte
    Tabela 86. Date.prototype[Symbol.toPrimitive]
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Date.prototype[Symbol.toPrimitive] Compatível Sem Suporte
    Tabela 87. A matriz é subclassificável
    Recurso Modo ECMAScript 2021 (ES12) Modo de 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ótipos correta Não permitido Não permitido
    Suporte a array.isArray Compatível Não permitido
    Array.prototype.concat Compatível Não permitido
    Array.prototype.filter Compatível Não permitido
    Array.prototype.map Compatível Não permitido
    Array.prototype.slice Compatível Não permitido
    Array.prototype.splice Compatível Não permitido
    Array.from Compatível Não permitido
    Matriz.de Compatível Não permitido
    Tabela 88. Regexp é subclassificável
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Não permitido Não permitido
    cadeia de protótipos 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
    Tabela 89. A função é subclassificável
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    pode ser chamado Não permitido Não permitido
    cadeia de protótipos correta Não permitido Não permitido
    pode ser usado com "new" Não permitido Não permitido
    Function.prototype.call Não permitido Não permitido
    Function.prototype.apply Não permitido Não permitido
    Function.prototype.bind Não permitido Não permitido
    Tabela 90. A promessa é subclassificável
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Não permitido Não permitido
    cadeia de protótipos correta Não permitido Não permitido
    Promise.ALL Não permitido Não permitido
    Promise.race Não permitido Não permitido
    Tabela 91. Subclassáveis diversos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Booliano é subclassificável Não permitido Não permitido
    O número é subclassificável Não permitido Não permitido
    A cadeia de caracteres é subclassificável Não permitido Não permitido
    O erro é subclassificável Não permitido Não permitido
    O mapa é subclassificável Não permitido Não permitido
    O conjunto é subclassificável Não permitido Não permitido
    Tabela 92. Protótipo de funções vinculadas
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funções básicas Não permitido Não permitido
    funções do gerador Não permitido Não permitido
    funções de seta Não permitido Não permitido
    classes Não permitido Não permitido
    subclasses Não permitido Não permitido
    Tabela 93. Proxy, chamadas internas "GET"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Para Primitivo Compatível Não permitido
    CreateListFromArrayLike Compatível Não permitido
    operador instanceof Compatível Não permitido
    Vinculação Compatível Não permitido
    CreateDynamicFunction Compatível Não permitido
    ClassDefinitionEvaluation Compatível Não permitido
    IteratorComplete, IteratorValue Compatível Não permitido
    ParaPropertyDescriptor Compatível Não permitido
    Objeto.Atribuir Compatível Não permitido
    Object.defineProperties Compatível Não permitido
    Function.prototype.bind Compatível Não permitido
    Error.prototype.toString Compatível Não permitido
    Cadeia de caracteres.raw Compatível Não permitido
    Construtor de regexp Compatível Não permitido
    RegExp.prototype.flags Compatível Não permitido
    RegExp.prototype.test Compatível Não permitido
    RegExp.prototype.toString Compatível Não permitido
    RegExp.prototype[Symbol.match] Compatível Não permitido
    RegExp.prototype[Symbol.replace] Compatível Não permitido
    RegExp.prototype[Symbol.search] Compatível Não permitido
    RegExp.prototype[Symbol.split] Compatível Não permitido
    Array.from Compatível Não permitido
    Array.prototype.concat Compatível Não permitido
    Array.prototype Métodos de iteração Compatível Não permitido
    Array.prototype.pop Compatível Não permitido
    Array.prototype.reverse Compatível Não permitido
    Array.prototype.shift Compatível Não permitido
    Array.prototype.splice Compatível Não permitido
    Array.prototype.toString Compatível Não permitido
    JSON.stringify Compatível Não permitido
    Funções de resolução de promessa Compatível Não permitido
    String.prototype.match Compatível Não permitido
    String.prototype.replace Compatível Não permitido
    String.prototype.search Compatível Não permitido
    String.prototype.split Compatível Não permitido
    Date.prototype.toJSON Compatível Não permitido
    Tabela 94. Proxy, chamadas internas de "definir"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Objeto.Atribuir Compatível Não permitido
    Array.from Compatível Não permitido
    Matriz.de Compatível Não permitido
    Array.prototype.copyWithin Compatível Não permitido
    Array.prototype.fill Compatível Não permitido
    Array.prototype.pop Compatível Não permitido
    Array.prototype.push Compatível Não permitido
    Array.prototype.reverse Compatível Não permitido
    Array.prototype.shift Compatível Não permitido
    Array.prototype.splice Compatível Não permitido
    Array.prototype.unshift Compatível Não permitido
    Tabela 95. Chamadas internas "defineProperty"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    [[Definir]] Compatível Não permitido
    SetIntegrityLevel Compatível Não permitido
    Tabela 96. Proxy, chamadas internas "deleteProperty"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.prototype.copyWithin Compatível Não permitido
    Array.prototype.pop Compatível Não permitido
    Array.prototype.reverse Compatível Não permitido
    Array.prototype.shift Compatível Não permitido
    Array.prototype.splice Compatível Não permitido
    Array.prototype.unshift Compatível Não permitido
    Tabela 97. Chamadas internas "getOwnPropertyDescriptor"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    [[Definir]] Compatível Não permitido
    Objeto.Atribuir Compatível Não permitido
    Object.prototype.hasOwnProperty Compatível Não permitido
    Function.prototype.bind Compatível Não permitido
    Tabela 98. Chamadas internas "ownKeys"
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    SetIntegrityLevel Compatível Não permitido
    TestIntegrityLevel Compatível Não permitido
    SerializeJSONObject Compatível Não permitido
    Tabela 99. Os métodos estáticos de objeto aceitam primitivos
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Object.getPrototypeOf Não permitido Não permitido
    Object.getOwnProperty Descriptor Não permitido Não permitido
    Object.getOwnPropertyNames Não permitido Não permitido
    Object.seal Não permitido Não permitido
    Object.freeze Não permitido Não permitido
    Object.preventExtensions Não permitido Não permitido
    Object.isSealed Não permitido Não permitido
    Object.isFrozen Não permitido Não permitido
    Object.isExtensible Não permitido Não permitido
    Object.Keys Não permitido Não permitido
    Tabela 100. Própria ordem de propriedade
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Object.Keys Compatível Não permitido
    Object.getOwnPropertyNames Compatível Não permitido
    Objeto.Atribuir Não permitido Não permitido
    JSON.stringify Não permitido Não permitido
    JSON.parse Não permitido Não permitido
    Reflect.ownKeys, ordem da chave da cadeia de caracteres Não permitido Não permitido
    Reflect.ownKeys, ordem da chave do símbolo Não permitido Não permitido
    Tabela 101. Sintaxe do identificador atualizada
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    var ⸯ; Não permitido Não permitido
    var ð; Não permitido Não permitido
    não há palavras reservadas com escape como identificadores Não permitido Não permitido
    Tabela 102. Semântica de função não estrita
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    declaração de função em nível de bloco içada Compatível Não permitido
    declarações de função rotuladas Não permitido Não permitido
    declarações de função em cláusulas if-statement Não permitido Não permitido
    Tabela 103. __proto__ em literais de objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    suporte básico Compatível Não permitido
    vários __proto__ é um erro Não permitido Não permitido
    não é uma propriedade calculada Não permitido Não permitido
    não é uma propriedade resumida Não permitido Não permitido
    não é um método resumido Não permitido Não permitido
    Tabela 104. Object.prototype.__proto__
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    obter protótipo Não permitido Não permitido
    definir protótipo Não permitido Não permitido
    Object.create ausente (nulo) Não permitido Não permitido
    Presente em hasOwnProperty() Não permitido Não permitido
    descritor de propriedade correto Não permitido Não permitido
    Presente em Object.getOwnPropertyNames() Não permitido Não permitido
    Tabela 105. String.prototype métodos HTML
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    existência Compatível Não permitido
    os nomes dos marcadores são minúsculos Compatível Não permitido
    aspas em argumentos são escapadas Compatível Não permitido
    Tabela 106. RegExp.prototype.compile
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    funcionalidade básica Compatível Não permitido
    retorna isso Compatível Não permitido
    Tabela 107. Extensões de sintaxe regexp
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    hifens em conjuntos de caracteres Não permitido Não permitido
    escape de caracteres inválidos Não permitido Não permitido
    escapes de caractere de controle inválidos Não permitido Não permitido
    Escapes Unicode inválidos Não permitido Não permitido
    escapes hexadecimais inválidos Não permitido Não permitido
    quantificadores e padrões incompletos Não permitido Não permitido
    sequências de escape octais Não permitido Não permitido
    referências anteriores inválidas se tornam escapes octais Não permitido Não permitido

    ECMAScript 2009 (ES5)

    Tabela 108. Extensões literais de objeto/matriz
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Obter acessadores Compatível Compatível
    Setter acessadores Compatível Compatível
    Vírgulas à direita em literais de objeto Compatível Compatível
    Vírgulas à direita em literais de matriz Compatível Compatível
    Palavras reservadas como nomes de propriedade Compatível Compatível
    Tabela 109. Métodos estáticos de objeto
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Object.Create Compatível Compatível
    Object.defineProperty Compatível Compatível
    Object.defineProperties Compatível Compatível
    Object.getPrototypeOf Compatível Compatível
    Object.Keys Compatível Compatível
    Object.seal Compatível Compatível
    Object.freeze Compatível Compatível
    Object.preventExtensions Compatível Compatível
    Object.isSealed Compatível Compatível
    Object.isFrozen Compatível Compatível
    Object.isExtensible Compatível Compatível
    Object.getOwnProperty Descriptor Compatível Compatível
    Object.getOwnPropertyNames Compatível Compatível
    Tabela 110. Métodos de matriz
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Array.isArray Compatível Compatível
    Array.prototype.indexOf Compatível Compatível
    Array.prototype.lastIndexOf Compatível Compatível
    Array.prototype.every Compatível Compatível
    Array.prototype.some Compatível Compatível
    Array.prototype.forEach Compatível Compatível
    Array.prototype.map Compatível Compatível
    Array.prototype.filter Compatível Compatível
    Array.prototype.reduce Compatível Compatível
    Array.prototype.reduceRight Compatível Compatível
    CompareFn deve ser função ou indefinido Array.prototype.sort: Compatível Sem Suporte
    CompareFn pode ser explicitamente indefinido Array.prototype.sort: Compatível Compatível
    Tabela 111. Propriedades e métodos de cadeia de caracteres
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Acesso à propriedade em cadeias de caracteres Compatível Compatível
    String.prototype.split Compatível Sem Suporte
    String.prototype.trim Compatível Compatível
    Tabela 112. Métodos de data
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Date.prototype.toISOString Compatível Compatível
    Date.now Compatível Compatível
    Date.prototype.toJSON Compatível Sem Suporte
    Tabela 113. Globais imutáveis
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    indefinido Compatível Compatível
    Nan Compatível Compatível
    Infinito Compatível Compatível
    Tabela 114. Métodos de número
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Number.prototype.toExponential arredonda corretamente Compatível Compatível
    Number.prototype.toExponential lança ±Infinity fractionDigits Compatível Compatível
    Number.prototype.toExponential não joga em casos de borda Compatível Compatível
    Tabela 115. Modo estrito
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    palavras reservadas Não permitido Não permitido
    "this" não está definido em funções Não permitido Não permitido
    "this" não é coagido a objeto em métodos primitivos Não permitido Não permitido
    "this" não é coagido a objeto em acessadores primitivos Não permitido Não permitido
    Octal legado é um SyntaxError Compatível Não permitido
    A atribuição a identificadores não resolvidos é um ReferenceError Compatível Não permitido
    A atribuição a avaliação ou argumentos é um SyntaxError Compatível Não permitido
    A atribuição a propriedades não graváveis é um TypeError Compatível Não permitido
    As vinculações de valores ou argumentos são um SyntaxError Não permitido Não permitido
    arguments.caller removido ou é um TypeError Compatível Não permitido
    arguments.callee é um TypeError Compatível Não permitido
    (Function()).caller e (function()).arguments é um TypeError Compatível Não permitido
    os 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
    Excluir propriedades não configuráveis é um TypeError Não permitido Não permitido
    "Com" é um SyntaxError Compatível Não permitido
    Nomes de parâmetros repetidos são um SyntaxError Compatível Não permitido
    expressões de função com nome e argumento correspondentes são válidas Não permitido Não permitido
    Tabela 116. Function.prototype.bind
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    Function.prototype.bind Compatível Compatível
    Tabela 117. JSON
    Recurso Modo ECMAScript 2021 (ES12) Modo de padrões ES5
    JSON Compatível Compatível