JavaScript Feature Reference
1. Introduction
A list of JavaScript features (i.e., properties, methods, objects, etc.) with their purpose, availability, and web browser support: @@iterator Property | arguments Object | Array Destructuring Syntax | Arrow Function Syntax | bind() Method | class Syntax | classList Property | className Property | Concise Method Syntax | create() Method | dataset Property | defineProperty() Method | endsWith() Method | entries() Method On Arrays | entries() Method On Maps | entries() Method On Sets | find() Method | findIndex() Method | for...of Statement | forEach() Method On Arrays | forEach() Method On Maps | forEach() Method On Sets | Generator Function | Generator Object | getAttribute() Method | getElementById() Method | getElementsByClassName() Method | getOwnPropertyDescriptor() Method | getPrototypeOf() Method | hasOwnProperty() Method | includes() Method | indexOf() Method On Arrays | indexOf() Method On Strings | innerHTML Property | insertAdjacentHTML() Method | instanceof Operator | isArray() Method | isPrototypeOf() Method | JSON Object | keys() Method On Arrays | keys() Method On Maps | keys() Method On Sets | let Declaration | localStorage Object | Map Object | Module | name Property | new.target Metaproperty | Object Destructuring Syntax | Object Literal Accessor Property Syntax | Parameter Default Value | Promise Object | propertyIsEnumerable() Method | querySelectorAll() Method | Rest Parameter | scrollIntoView() Method | Set Object | setPrototypeOf() Method | setTimeout() Method | splice() Method | Spread Operator In Array Literals | Spread Operator In Function Calls | Spread Operator In Math Object Methods | Spread Operator In Object Literals | startsWith() Method | style Object | [Symbol.iterator] Property | Template Literal Syntax | Template Tag Syntax | TypedArray Object | values() Method On Arrays | values() Method On Maps | values() Method On Sets.
1.1. Abbreviations
- IE = Internet Explorer.
- ED = Edge Legacy 12 - 18 (EdgeHTML based) and Edge 79+ (Chromium based).
- FF = Firefox.
- SF = Safari.
- CH = Chrome.
- OP = Opera.
2. JavaScript Feature Reference
| Feature | Purpose | Available On/In | Web Browser Support | Note |
|---|---|---|---|---|
arguments Object |
|
|
|
|
| Array Destructuring Syntax |
|
|
|
|
| Arrow Function Syntax |
|
|
|
|
bind() Method |
|
|
|
|
class Syntax |
|
|
|
|
classList Property |
|
|
|
|
className Property |
|
|
|
|
| Concise Method Syntax |
|
|
|
|
create() Method |
|
|
|
|
dataset Property |
|
|
|
|
defineProperty() Method |
|
|
|
|
endsWith() Method |
|
|
|
|
entries() Method On Arrays |
|
|
|
|
entries() Method On Maps |
|
|
|
|
entries() Method On Sets |
|
|
|
|
find() Method |
|
|
|
|
findIndex() Method |
|
|
|
|
for...of Statement |
|
|
|
|
forEach() Method On Arrays |
|
|
|
|
forEach() Method On Maps |
|
|
|
|
forEach() Method On Sets |
|
|
|
|
Generator Function (function*) |
|
|
|
|
Generator Object |
|
|
|
|
getAttribute() Method |
|
|
|
|
getElementById() Method |
|
|
|
|
getElementsByClassName() Method |
|
|
|
|
getOwnPropertyDescriptor() Method |
|
|
|
|
getPrototypeOf() Method |
|
|
|
|
hasOwnProperty() Method |
|
|
|
|
includes() Method |
|
|
|
|
indexOf() Method On Arrays |
|
|
|
|
indexOf() Method On Strings |
|
|
|
|
innerHTML Property |
|
|
|
|
insertAdjacentHTML() Method |
|
|
|
|
instanceof Operator |
|
|
|
|
isArray() Method |
|
|
|
|
isPrototypeOf() Method |
|
|
|
|
JSON Object |
|
|
|
|
keys() Method On Arrays |
|
|
|
|
keys() Method On Maps |
|
|
|
|
keys() Method On Sets |
|
|
|
|
let Declaration |
|
|
|
|
localStorage Object |
|
|
|
|
Map Object |
|
|
|
|
| Module |
|
|
|
|
name Property |
|
|
|
|
new.target Metaproperty |
|
|
|
|
| Object Destructuring Syntax |
|
|
|
|
| Object Literal Accessor Property Syntax |
|
|
|
|
| Parameter Default Value |
|
|
|
|
Promise Object |
|
|
|
|
propertyIsEnumerable() Method |
|
|
|
|
querySelectorAll() Method |
|
|
|
|
| Rest Parameter |
|
|
|
|
scrollIntoView() Method |
|
|
|
|
Set Object |
|
|
|
|
setPrototypeOf() Method |
|
|
|
|
setTimeout() Method |
|
|
|
|
splice() Method |
|
|
|
|
| Spread Operator In Array Literals |
|
|
|
|
| Spread Operator In Function Calls |
|
|
|
|
Spread Operator In Math Object Methods |
|
|
|
|
| Spread Operator In Object Literals |
|
|
|
|
startsWith() Method |
|
|
|
|
style Object |
|
|
|
|
[Symbol.iterator] Property (a.k.a., @@iterator property) |
|
|
|
|
| Template Literal Syntax |
|
|
|
|
| Template Tag Syntax |
|
|
|
|
TypedArray Object |
|
|
|
|
values() Method On Arrays |
|
|
|
|
values() Method On Maps |
|
|
|
|
values() Method On Sets |
|
|
|
|
(1) The ECMAScript specifications describe the isPrototypeOf() method only on constructor prototype (i.e., prototypes), not also on Object reference type (i.e., objects). That when the create() method was added to the ECMAScript specification, apparently the isPrototypeOf() method was not also described on objects, and that, therefore, apparently web browsers implemented the isPrototypeOf() method on objects independent of ECMAScript, seems odd.(2) By default, in FF60+, the about:config | dom.moduleScripts.enabled preference is set to true. By default, in FF54 - 59, the about:config | dom.moduleScripts.enabled preference is set to false. In FF53-, the about:config | dom.moduleScripts.enabled preference does not exist. |
||||
3. Resources And Additional Information
- Destructuring Assignment (developer.mozilla.org) (Includes array destructuring syntax and object destructuring syntax.)
Function.prototype.bind()(developer.mozilla.org)- W3C DOM4: 4.8 Interface
Element: W3C Recommendation 19 November 2015 (w3.org) (IncludesclassListproperty.) - HTML5: A Vocabulary And Associated APIs For HTML And XHTML: 3.2.5.9 Embedding Custom Non-Visible Data With The
data-*Attributes: W3C Recommendation 28 October 2014 (w3.org) (Includesdatasetproperty.) function*(developer.mozilla.org) (Includes generator function andGenerator/iterator object.)Generator(developer.mozilla.org) (IncludesGeneratorobject, generator function, iterable protocol, and iterator protocol.)- DOM Parsing And Serialization:
DOMParser,XMLSerializer,innerHTML, And Similar APIs: 7.1 Attributes: W3C Working Draft 17 May 2016 (w3.org) (IncludesinnerHTMLproperty.) Object.prototype.isPrototypeOf()(developer.mozilla.org)- Web Storage (Second Edition) W3C Recommendation 19 April 2016 (w3.org) (Includes
localStorageobject.) - Exploring ES6: 16. Modules (exploringjs.com)
- Standard ECMA-262 8th Edition / June 2017: ECMAScript 2017 Language Specification: 19.1
ObjectObjects (ecma-international.org) (IncludesObjectconstructor,create()method,getPrototypeOf()method,setPrototypeOf()method,hasOwnProperty()method, andisPrototypeOf()method.) Object(developer.mozilla.org) (IncludesObjectconstructor,create()method,getPrototypeOf()method,setPrototypeOf()method,hasOwnProperty()method, andisPrototypeOf()method.)- Object initializer (developer.mozilla.org) (Includes object initializer and object destructuring syntax.)
- Selectors API Level 2: 6.2. Finding Elements With Selectors: W3C Working Group Note 17 October 2013 (w3.org) (Includes
querySelectorAll()method.) - W3C DOM4: 4.2.3 Interface
ParentNode: W3C Recommendation 19 November 2015 (w3.org) (IncludesquerySelectorAll()method.) Object.setPrototypeOf()(developer.mozilla.org)- Spread Syntax (developer.mozilla.org)
Symbol.iterator(developer.mozilla.org)- Iteration Protocols (developer.mozilla.org) (Includes iterable protocol, iterator protocol,
[Symbol.iterator]property, and[Symbol.iterator]()method.) TypedArray(developer.mozilla.org)- JavaScript Typed Arrays (developer.mozilla.org) (Includes
TypedArrayobject.) - Typed Arrays: Binary Data In The Browser (html5rocks.com) (Includes
TypedArrayobject.) - JavaScript Data Types And Data Structures (developer.mozilla.org) (Includes the six primitive data types (
Boolean,Null,Undefined,Number,String, andSymbol) and theObjectdata type (Object,Function,Date, indexed collections (ArrayandTypedArray), keyed collections (Map,Set,WeakMap, andWeakSet), structured data (JSON), and more.) - JavaScript Feature Reference:
argumentsObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Array Destructuring Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Arrow Function Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
bind()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
classSyntax Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
classListProperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
classNameProperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Concise Method Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
create()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
datasetProperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
defineProperty()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
endsWith()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
entries()Method On Arrays Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
entries()Method On Maps Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
entries()Method On Sets Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
find()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
findIndex()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
for...ofStatement Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
forEach()Method On Arrays Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
forEach()Method On Maps Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
forEach()Method On Sets Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Generator Function Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
GeneratorObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
getAttribute()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
getElementById()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
getElementsByClassName()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
getOwnPropertyDescriptor()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
getPrototypeOf()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
hasOwnProperty()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
includes()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
indexOf()Method On Arrays Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
indexOf()Method On Strings Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
innerHTMLProperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
insertAdjacentHTML()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
instanceofOperator Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
isArray()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
isPrototypeOf()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
JSONObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
keys()Method On Arrays Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
keys()Method On Maps Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
keys()Method On Sets Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
letDeclaration Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
localStorageObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
MapObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Module Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
nameProperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
new.targetMetaproperty Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Object Destructuring Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Object Literal Accessor Property Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Parameter Default Value Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
PromiseObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
propertyIsEnumerable()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
querySelectorAll()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Rest Parameter Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
scrollIntoView()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
SetObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
setPrototypeOf()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
setTimeout()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
splice()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Spread Operator In Array Literals Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Spread Operator In Function Calls Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Spread Operator In
MathObject Methods Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Spread Operator In Object Literals Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
startsWith()Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
styleObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
[Symbol.iterator]Property Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Template Literal Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference: Template Tag Syntax Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
TypedArrayObject Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
values()Method On Arrays Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
values()Method On Maps Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
values()Method On Sets Web Browser Support Test (learnwebcoding.com)