Skip to content

Latest commit

 

History

History
109 lines (91 loc) · 7.87 KB

File metadata and controls

109 lines (91 loc) · 7.87 KB

ECMAScript features by version

Static detectability of recently-added features

  • ❌ = not statically detectable
  • 😐 = statically detectable, but chance of false positives
  • 👎 = statically detectable, but not worth the false positives

ES2023

Name ESLint / eslint-plugin-es Chrome since
{Array, TypedArray}.prototype.{findLast, findLastIndex} 😐 es-x/no-array-prototype-findlast-findlastindex 97
{Array, TypedArray}.prototype.toReversed 😐 es-x/no-array-prototype-toreversed 110
{Array, TypedArray}.prototype.toSorted 😐 es-x/no-array-prototype-tosorted 110
Array.prototype.toSpliced 😐 es-x/no-array-prototype-tospliced 110
{Array, TypedArray}.prototype.with 😐 es-x/no-array-prototype-with 110
Hashbang Grammar es-x/no-hashbang 74
Symbols as WeakMap keys 108
RegExp Unicode property escapes (2023) es-x/no-regexp-unicode-property-escapes-2023 see issue #63

ES2022

Name ESLint / eslint-plugin-es Chrome since
Arbitrary module namespace names es-x/no-arbitrary-module-namespace-names see issue #62
{Array, String, TypedArray}.prototype.at() 😐 es-x/no-array-string-prototype-at 92
Class fields es-x/no-class-fields 72, 74
Class static initialization block es-x/no-class-static-block 94
Error cause es-x/no-error-cause 93
Object.hasOwn es-x/no-object-hasown 93
Private slot checks (#x in obj) es-x/no-private-in 91
RegExp match indices (/d flag) es-x/no-regexp-d-flag 90
RegExp Unicode property escapes (2022) es-x/no-regexp-unicode-property-escapes-2022 see issue #63
Top-level await es-x/no-top-level-await 89

ES2021

Name ESLint / eslint-plugin-es Chrome since
Logical Assignment ||=, &&=, ??= es/no-logical-assignment-operators 85
Numeric separators es/no-numeric-separators 75
Promise.any es/no-promise-any 85
RegExp Unicode property escapes (2021) es-x/no-regexp-unicode-property-escapes-2021 see issue #63
String.prototype.replaceAll 😐 no-restricted-properties 85
WeakRef and FinalizationRegistry es/no-weakrefs 84

ES2020

Name ESLint / eslint-plugin-es Chrome since
Atomics.{notify, wait} no-restricted-properties 68
BigInt es/no-bigint 67
Dynamic import() es/no-dynamic-import 63
globalThis es/no-global-this 71
import.meta es/no-import-meta 64
Module namespace exports es/no-export-ns-from 72
Nullish coalescing (??) es/no-nullish-coalescing-operators 80
Optional chaining (?.) es/no-optional-chaining 80
Promise.allSettled es/no-promise-all-settled 76
RegExp Unicode property escapes (2020) es-x/no-regexp-unicode-property-escapes-2020 see issue #63
String.prototype.matchAll 😐 no-restricted-syntax 73

ES2019

Name ESLint / eslint-plugin-es Chrome since
Array.prototype.{flat, flatMap} 😐 no-restricted-syntax 69
JSON superset es/no-json-superset 66
Object.fromEntries es/no-object-fromentries 73
Optional catch binding es/no-optional-catch-binding 66
RegExp Unicode property escapes (2019) es-x/no-regexp-unicode-property-escapes-2019 see issue #63
Revised Function.prototype.toString
Stable Array.prototype.sort
String.prototype.trimX methods 😐 no-restricted-syntax 66
Symbol.prototype.description 👎 no-restricted-syntax 70
Well-formed JSON.stringify

ES2018

Name ESLint / eslint-plugin-es Chrome since
Async iteration (loop & generators) es/no-async-iteration 63
Object rest and spread operators es/no-rest-spread-properties 60
Promise.prototype.finally 😐 no-restricted-syntax 63
RegExp look-behind assertions es/no-regexp-lookbehind-assertions 62
RegExp named capture groups es/no-regexp-named-capture-groups 64
RegExp /s (dotAll) flag es/no-regexp-s-flag 62
RegExp Unicode property escapes (2018) es/no-regexp-unicode-property-escapes 64

ES2017

Name ESLint / eslint-plugin-es Chrome since
Async functions es/no-async-functions 55
Atomics es/no-atomics 68
Object.entries es/no-object-entries 54
Object.getOwnPropertyDescriptors es/no-object-getownpropertydescriptors 54
Object.values es/no-object-values 54
SharedArrayBuffer es/no-shared-array-buffer 68
String.prototype.{padStart, padEnd} 😐 no-restricted-syntax 57
Trailing commas in parameter lists es/no-trailing-function-commas 58

ES2016

Name ESLint / eslint-plugin-es Chrome since
Array.prototype.includes 😐 no-restricted-syntax 47
Exponentiation operator es/no-exponential-operators 52