• Stars
    star
    143
  • Rank 255,485 (Top 6 %)
  • Language
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 7 years ago

Reviews

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

Repository Details

Comparison between ECMA5 and ECMA6 features

ECMAScript 6 Features

Arrows

Arrows are a function shorthand using the => syntax. They are syntactically similar to the related feature in C#, Java 8 and CoffeeScript. They support both expression and statement bodies. Unlike functions, arrows share the same lexical this as their surrounding code.

Classes

ES6 classes are a simple sugar over the prototype-based OO pattern. Having a single convenient declarative form makes class patterns easier to use, and encourages interoperability. Classes support prototype-based inheritance, super calls, instance and static methods and constructors.

Enhanced Object Literals

Object literals are extended to support setting the prototype at construction, shorthand for foo: foo assignments, defining methods and making super calls. Together, these also bring object literals and class declarations closer together, and let object-based design benefit from some of the same conveniences.

Template Strings

Template strings provide syntactic sugar for constructing strings. This is similar to string interpolation features in Perl, Python and more. Optionally, a tag can be added to allow the string construction to be customized, avoiding injection attacks or constructing higher level data structures from string contents.

Destructuring

Destructuring allows binding using pattern matching, with support for matching arrays and objects. Destructuring is fail-soft, similar to standard object lookup foo["bar"], producing undefined values when not found.

Default, Rest, Spread

Callee-evaluated default parameter values. Turn an array into consecutive arguments in a function call. Bind trailing parameters to an array. Rest replaces the need for arguments and addresses common cases more directly.

Let, Const

Block-scoped binding constructs. let is the new var. const is single-assignment. Static restrictions prevent use before assignment.

Iterators, For..Of

Iterator objects enable custom iteration like CLR IEnumerable or Java Iterable. Generalize for..in to custom iterator-based iteration with for..of. Donโ€™t require realizing an array, enabling lazy design patterns like LINQ.

Generators

Generators simplify iterator-authoring using function* and yield. A function declared as function* returns a Generator instance. Generators are subtypes of iterators which include additional next and throw. These enable values to flow back into the generator, so yield is an expression form which returns a value (or throws).

Modules

Language-level support for modules for component definition. Codifies patterns from popular JavaScript module loaders (AMD, CommonJS). Runtime behaviour defined by a host-defined default loader. Implicitly async model โ€“ no code executes until requested modules are available and processed.

ECMAScript 7 Features

Array Comprehension

The array comprehension syntax is a JavaScript expression which allows you to quickly assemble a new array based on an existing one.

More Repositories

1

awesome-knockout

A curated list of awesome plugins for Knockout
97
star
2

brackets-documents-toolbar

Extension that adds new toolbar with a list of all open documents.
JavaScript
67
star
3

brackets-extension-rating

Brackets extension used to display other extensions rating
JavaScript
66
star
4

brackets-lorem-pixel

Brackets extension used to generate placeholder images
JavaScript
28
star
5

brackets-pixlr

Support of Pixlr image editor inside of Brackets IDE
JavaScript
25
star
6

brackets-postman

Brackets extension to test REST API
JavaScript
17
star
7

knockout.animate

Animate.css custom binding for Knockout.js
JavaScript
14
star
8

brackets-projects

Projects management extension for Brackets IDE
JavaScript
14
star
9

iconic-logger

Customized console.log output with icons
JavaScript
13
star
10

brackets-old-terminal

Visual extension for dark Brackets themes
CSS
12
star
11

brackets-cdn

Brackets extension to search for javascript libraries, jQuery plugins, fonts, CSS frameworks and anything else you might need.
JavaScript
12
star
12

extensions-toolbar

Brackets extension that create bigger editor window and reposition extensions toolbar
JavaScript
9
star
13

octotips

Github tooltips improvement - Chrome extension
JavaScript
7
star
14

dou-black-list

Black List Chrome extension for dou.ua
JavaScript
6
star
15

react-9-slice

9-slice UI Component for React
JavaScript
6
star
16

knockout.getset

Another way to bind observables for Knockout
JavaScript
4
star
17

brackets-raml

RAML API Console extension for Brackets
JavaScript
4
star
18

brackets-custom-css

Brackets extension that modifying CSS of Brackets IDE
JavaScript
4
star
19

eclipse-server

JavaScript
3
star
20

gulp-melchior

Gulp plugin for Melchior.js modules optimization
JavaScript
3
star
21

ecos

Entity Component System
JavaScript
2
star
22

solar

Solar system visualization based on React
JavaScript
2
star
23

brackets-firewatch

Brackets theme that is based on color scheme from Firewatch game.
CSS
2
star
24

radiance

Fantasy roguelike project
JavaScript
1
star
25

mermaid-auto-graph

JavaScript
1
star
26

Deficit

C#
1
star
27

react-tutorial

Examples for React course in GlobalLogic Ukraine
JavaScript
1
star
28

featurex

ECMAScript 6 feature detection
JavaScript
1
star
29

game-deepspace

Web game about space exploration
JavaScript
1
star
30

knockout.animation

Animation bindings for KnockoutJS
JavaScript
1
star
31

JSNA

XNA-like 2D canvas game engine
JavaScript
1
star
32

brackets-draggable-modals

Draggable modal windows in Brackets IDE
JavaScript
1
star
33

squares

JavaScript
1
star
34

roguelike

Cyberpunk 2099 roguelike game
JavaScript
1
star