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) (IncludesclassList
property.) - 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) (Includesdataset
property.) function*
(developer.mozilla.org) (Includes generator function andGenerator
/iterator object.)Generator
(developer.mozilla.org) (IncludesGenerator
object, 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) (IncludesinnerHTML
property.) Object.prototype.isPrototypeOf()
(developer.mozilla.org)- Web Storage (Second Edition) W3C Recommendation 19 April 2016 (w3.org) (Includes
localStorage
object.) - Exploring ES6: 16. Modules (exploringjs.com)
- Standard ECMA-262 8th Edition / June 2017: ECMAScript 2017 Language Specification: 19.1
Object
Objects (ecma-international.org) (IncludesObject
constructor,create()
method,getPrototypeOf()
method,setPrototypeOf()
method,hasOwnProperty()
method, andisPrototypeOf()
method.) Object
(developer.mozilla.org) (IncludesObject
constructor,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
TypedArray
object.) - Typed Arrays: Binary Data In The Browser (html5rocks.com) (Includes
TypedArray
object.) - JavaScript Data Types And Data Structures (developer.mozilla.org) (Includes the six primitive data types (
Boolean
,Null
,Undefined
,Number
,String
, andSymbol
) and theObject
data type (Object
,Function
,Date
, indexed collections (Array
andTypedArray
), keyed collections (Map
,Set
,WeakMap
, andWeakSet
), structured data (JSON
), and more.) - JavaScript Feature Reference:
arguments
Object 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:
class
Syntax Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
classList
Property Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
className
Property 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:
dataset
Property 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...of
Statement 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:
Generator
Object 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:
innerHTML
Property Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
insertAdjacentHTML()
Method Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
instanceof
Operator 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:
JSON
Object 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:
let
Declaration Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
localStorage
Object Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
Map
Object Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference: Module Web Browser Support Test (learnwebcoding.com)
- JavaScript Feature Reference:
name
Property Web Browser Support Test (learnwebcoding.com) - JavaScript Feature Reference:
new.target
Metaproperty 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:
Promise
Object 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:
Set
Object 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
Math
Object 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:
style
Object 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:
TypedArray
Object 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)