• Stars
    star
    6,228
  • Rank 6,427 (Top 0.2 %)
  • Language
    HTML
  • License
    Other
  • Created over 9 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ECMAScript 6: Feature Overview & Comparison

es6-features.org

ECMAScript 6: Feature Overview & Comparison

Copyright (c) 2015-2017 Ralf S. Engelschall <[email protected]> <@engelschall>
Partially based on code snippets by Luke Hoban.
Licensed under MIT license.

This is the source of the website es6-features.org, a small overview of current ECMAScript 6 language features and a comparison to their old ECMAScript 5 equivalents.

Frequently Asked Questions? (FAQ)

  • Why was it setup? Is the ECMAScript 6 specification not enough?

    It was setup by computer scientist and software architect Ralf S. Engelschall in March 2015 in order to promote ECMAScript 6 in the software engineering projects around him and to have bookmarkable URLs at hand for referencing certain ECMAScript 6 features. Additionally, creating this website was a good approach for Ralf S. Engelschall to learn the new ECMAScript 6 features himself.

  • Where can I find the current browser support status quo for ECMASCript 6?

    Have a look at the regularily updated ECMAScript compatibility table by kangax. There, especially notice the column "Babel + core-js" as this is what can be achieved today with transpiling (and that's fully sufficient for practice).

  • Where can I find the latest ECMAScript 6 standard?

    The final ECMAScript 6 standard (ECMA-262) was published in June 2015. You can find the standard on ecmascript.org.

  • How can I use ECMAScript 6 if my JavaScript runtime still does not support it?

    Use the awesome Babel transpiler. For Node.js/io.js environments just use its tricky require hook. For browser environments use Babel in conjunction with Browserify and its Babelify plugin. For other tools see Using Babel. If you want to see pre-integrated scenarios, check out our sibling project es6-support for various code examples!

  • Why does the website default use the "reduced" syntactic sugar style (without semicolons) for ECMAScript 6 and the "traditional" syntactic sugar style (with semicolons) for ECMAScript 5?

    ECMAScript since its earliest days supported automatic semicolon inference/insertion, of course. But people coding ECMAScript 5 started it in an era where lots of tools (especially source code compressors) had problems when semicolons where left out from the source code. As a consequence, most ECMAScript 5 coders maintained the traditional coding style with semicolons as the syntactic sugar, although in most of the cases they are not necessary. But this era is gone today. Both ECMAScript 6 and all tools (including compressors) perfectly support automatic semicolon inference/insertion nowadays. As a consequence, ECMAScript 6 coders nowadays can get rid of nearly all semicolons and remove clutter from their source code. Ralf S. Engelschall is a strong promoter of reducing source code to its bare minimum. Hence, in his personal opinion ECMAScript 6 should be coded with as less syntactic sugar as possible and hence without semicolons. But if you disagree, just switch the shown style on the website. If you even need to enforce a particular style for both ES6 and ES5 code snippets in your bookmarks, just use one of the following URLs: ES6-Features (reduced style) or ES6-Features (traditional style)

  • I still don't understand: why should I use ECMAScript 6? ECMAScript 5 looks sufficient.

    ECMAScript 5 is a nice and decent programming language, of course. But because of its history, it has some nasty aspects which ECMAScript 6 finally resolves. As programming never is just about getting the necessary functionality done, it is advised to also use the best language, too. ECMAScript 6's language design is cleaner than ECMAScript 5, its syntax increases the expressiveness of your code, it decreases the necessary boilerplate code (e.g. function vs. arrow syntax) and it especially let you get rid of some very nasty but required hacks and workarounds from the ECMAScript 5 era (e.g. var self = this). So, ECMAScript 5 might be sufficient, but ECMAScript 6 nevertheless is an important improvement.

  • I've found a mistake, how can I contribute?

    The source is the file features.txt, everything else on es6-features.org is just generated out of it. Fork this project on Github, edit the file features.txt and then please send a pull request.

  • Do you know more such ECMAScript 6 feature lists?

More Repositories

1

stmux

Simple Terminal Multiplexer for Node.js Environments
JavaScript
501
star
2

astq

Abstract Syntax Tree (AST) Query Engine
JavaScript
192
star
3

vingester

Ingest Web Contents as Video Streams
JavaScript
187
star
4

typopro

Fonts for Professional Typography
129
star
5

tokenizr

String Tokenization Library for JavaScript
JavaScript
93
star
6

graphql-tools-sequelize

Integration of GraphQL-Tools and Sequelize ORM
JavaScript
90
star
7

componentjs

ComponentJS -- Powerful run-time Component System for structuring HTML5-based Rich Clients
JavaScript
85
star
8

slideshow

Slideshow -- Observe and Control Slideshow Applications
AppleScript
82
star
9

ducky

Duck-Typed Value Handling for JavaScript
JavaScript
72
star
10

extraction

Tree Extraction for JavaScript Object Graphs
JavaScript
71
star
11

es6-support

ECMAScript 6: Support Hints & Examples
JavaScript
71
star
12

thenable

Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
JavaScript
66
star
13

pure-uuid

Pure JavaScript Based Universally Unique Identifiers (UUID)
JavaScript
64
star
14

aggregation

Aggregation of Base Class and Mixin Classes
JavaScript
59
star
15

jquery-markup

jQuery Template Based Markup Generation
JavaScript
55
star
16

hapi-plugin-websocket

HAPI plugin for seamless WebSocket integration
JavaScript
53
star
17

graphql-tools-types

Custom Scalar Types for GraphQL-Tools
JavaScript
47
star
18

vue-i18next

Vue plugin for integrating I18Next
JavaScript
46
star
19

node-prince

Node API for executing PrinceXML via prince(1) CLI
Shell
46
star
20

blessed-xterm

XTerm Widget for Blessed Curses Environment
JavaScript
46
star
21

graphql-io

GraphQL Network Communication Framework
JavaScript
41
star
22

vmix-scripts

vMix Scripts Collection
Visual Basic .NET
40
star
23

graphql-query-compress

Compress GraphQL Query String
JavaScript
38
star
24

mqtt-json-rpc

JSON-RPC protocol over MQTT communication
JavaScript
37
star
25

asty

Abstract Syntax Tree (AST) Data Structure
JavaScript
34
star
26

json-asty

Lossless JSON-to-AST Parser and AST-to-JSON Generator
JavaScript
33
star
27

unix-under-windows

Unix Environment under Windows
32
star
28

vdon-call

Remote Caller Ingest for Live Video Productions with VDO.Ninja & OBS Studio
HTML
32
star
29

pegjs-util

Utility Class for PEG.js
JavaScript
31
star
30

node-enigmavirtualbox

Node API for executing Enigma Virtual Box
JavaScript
30
star
31

microkernel

Microkernel for Server Applications
JavaScript
28
star
32

graphql-tutorial

Tutorial for GraphQL
JavaScript
27
star
33

glyphs2font

SVG Glyph Icons to Web Font Generation
JavaScript
27
star
34

grunt-bower-install-simple

Grunt Task for Installing Bower Dependencies
JavaScript
26
star
35

obs-setup

OBS Studio Setup Information
26
star
36

vdo-ninja-trampoline

VDO.Ninja Trampoline
HTML
25
star
37

hapi-plugin-graphiql

HAPI plugin for GraphiQL integration
CSS
22
star
38

typopro-web

TypoPRO (Web Font Formats)
CSS
19
star
39

huds

Head-Up-Display Server (HUDS)
JavaScript
19
star
40

tika-server

Apache Tika Server as a Background Service in Node.js
JavaScript
18
star
41

node-inline-assets

Node API, CLI and Grunt Task for inlining external assets of HTML/CSS files
JavaScript
18
star
42

grunt-merge-json

Grunt Task for Merging Multiple JSON Files
JavaScript
18
star
43

node-http-proxy-simple

Simple HTTP proxy extension module for Node.js, allowing protocol and payload interception
JavaScript
17
star
44

jquery-stage

jQuery Stage Information
JavaScript
15
star
45

obs-scripts

OBS Studio Lua Scripts
Lua
15
star
46

html5-spa-essentials

Essential Functionalities for HTML5 Single-Page-Apps (SPA)
JavaScript
15
star
47

audio-node-suite

Web Audio API AudioNode Suite
TypeScript
13
star
48

apollo-client-ws

GraphQL WebSocket Network Interface for Apollo Client
JavaScript
13
star
49

huds-hud-training

Training HUD for HUDS
Vue
12
star
50

pdfbox-simple

Simple PDFBox Wrapper
JavaScript
11
star
51

fasttext-lid

Language Identification with Facebook FastText for Node.js
JavaScript
11
star
52

jquery-page

jQuery Page Transitions
JavaScript
11
star
53

cache-lru

In-Memory Cache with O(1) Operations and LRU Purging Strategy
JavaScript
10
star
54

browserify-derequire

Browserify Plugin for Renaming require() Calls
JavaScript
10
star
55

encodr

Encoding/Decoding to/from CBOR/MsgPack/JSON for Node.js and Browser
JavaScript
9
star
56

dotfiles

Small Opinionated Collection of Unix Configuration Files for User Shell Environment
Shell
9
star
57

lowerthird

Lower Thirds for OBS Studio
JavaScript
8
star
58

graphql-io-server

GraphQL Network Communication Framework (Server)
JavaScript
8
star
59

stanford-postagger

Stanford Log-linear Part-Of-Speech (PoS) Tagger for Node.js
JavaScript
8
star
60

oset

Ordered Set Data Structure for JavaScript
JavaScript
8
star
61

wordnet-lmf

WordNet Lexical Markup Framework (LMF)
JavaScript
7
star
62

upd

Upgrade Package Dependencies (UPD)
JavaScript
7
star
63

hapi-plugin-co

HAPI plugin for Co-Routine handlers
JavaScript
7
star
64

sublime-scheme-rse

Sublime Text Color Scheme RSE
7
star
65

hapi-plugin-traffic

HAPI plugin for network traffic accounting
JavaScript
7
star
66

soundfx

Sound Effect Collection
JavaScript
7
star
67

syntax

Unobtrusive Syntax Highlighting
JavaScript
7
star
68

bash-fzf

Enhance GNU Bash with FZF Matching
Makefile
7
star
69

psd2pptx

Convert Photoshop (PSD) layers to PowerPoint (PPTX) slides
JavaScript
7
star
70

grunt-newer-explicit

Grunt Task for running tasks if source files are newer only.
JavaScript
6
star
71

asty-astq

Abstract Syntax Tree With Integrated Query Engine
JavaScript
6
star
72

node-unix

Unix operating system integration for Node.js-based services
JavaScript
6
star
73

ipc-pubsub

Inter-Process-Communication (IPC) Publish-Subscribe (PubSub) Abstraction Layer
JavaScript
6
star
74

live-receiver

Live Video Experience (LiVE) Receiver
Vue
6
star
75

jquery-schedule

jQuery plugin for performing scheduled/deferred actions on DOM elements.
JavaScript
6
star
76

node-xmlhttprequest-cookie

Cookie-aware XMLHttpRequest Wrapper
JavaScript
6
star
77

websocket-framed

Framed WebSocket Communication
JavaScript
6
star
78

ffmpeg

FFmpeg distribution for NPM
JavaScript
5
star
79

sysload

System Load Determination
JavaScript
5
star
80

style-scope

PostCSS and PostHTML plugins for locally scoping styles
JavaScript
5
star
81

audio-setup

Windows Audio Setup
5
star
82

sprintfjs

POSIX sprintf(3)-style Formatting for JavaScript
JavaScript
5
star
83

studio-canvas

Real-Time Virtual Studio Canvas Rendering
TypeScript
5
star
84

browserify-replace

Browserify Transform For Replacing Strings
JavaScript
5
star
85

gridless

Grid System for LESS CSS
CSS
4
star
86

mostlikely

Most-Likely Classification Through Bloom-Filtering
JavaScript
4
star
87

obs-crop-control

Remote Crop-Filter Control for OBS Studio
JavaScript
4
star
88

k8s-sample

Kubernetes (K8S) Sample Application
JavaScript
4
star
89

peertime

Network Peer Time Synchronization
JavaScript
3
star
90

obs-banner

Simple Banner for OBS Studio
JavaScript
3
star
91

obs-cam-control

Camera Control for OBS Studio
JavaScript
3
star
92

vue-params

Vue plugin for global parameters triggering data-binding updates
JavaScript
3
star
93

pptx-surgeon

PowerPoint OpenXML File Surgeon
JavaScript
3
star
94

pdf-scrape

PDF Text Scraping
JavaScript
3
star
95

hapi-plugin-header

HAPI plugin to always send a Server identification header
JavaScript
3
star
96

grunt-extend-config

Grunt Plugin for Extending Grunt Configuration
JavaScript
3
star
97

nunjucks-cli

Nunjucks Template Rendering Command-Line Interface
JavaScript
3
star
98

huds-hud-hello

Hello World HUD for HUDS
HTML
3
star
99

graphql-io-client

GraphQL Network Communication Framework (Client)
JavaScript
3
star
100

ael

Advanced Expression Language
JavaScript
3
star