# es6

ES6, formally ECMAScript 2015, is a standardized programming language specification with features including modules, classes, iterators, generators, promises, and destructuring.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Babel in Khan Academy's i18n Toolchain

DevFeed: [Babel in Khan Academy's i18n Toolchain](<https://devfeed.tech/articles/babel-in-khan-academy-s-i18n-toolchain-27381.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/i18n-babel-plugin.htm>)

Author: Khan Academy

Published: 2015-06-22T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Babel](<https://devfeed.tech/topics/babel.md>), [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [es6](<https://devfeed.tech/topics/es6.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Universal Syntax Tree.](<https://devfeed.tech/topics/unist.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [babel](<https://devfeed.tech/tags/babel.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [es6](<https://devfeed.tech/tags/es6.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [source](<https://devfeed.tech/tags/source.md>), [structure](<https://devfeed.tech/tags/structure.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tests](<https://devfeed.tech/tags/tests.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [types](<https://devfeed.tech/tags/types.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Khan Academy describes switching its ES6 and JSX frontend compilation from jstransform to Babel. The article explains a custom Babel plugin for preserving the project's internationalization behavior and discusses matching generated output, line numbers, whitespace, and the existing build chain.

### Source excerpt

By Kevin Barabash We've been using ES6 (along with JSX) for sometime at Khan Academy. Right now, we're ... Read more

## Interning at Khan Academy: from student to intern

DevFeed: [Interning at Khan Academy: from student to intern](<https://devfeed.tech/articles/interning-at-khan-academy-from-student-to-intern-27383.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/interning-at-khan-academy.htm>)

Author: Khan Academy

Published: 2016-12-12T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Scala](<https://devfeed.tech/topics/scala.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [es6](<https://devfeed.tech/tags/es6.md>), [features](<https://devfeed.tech/tags/features.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [intern](<https://devfeed.tech/tags/intern.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [react](<https://devfeed.tech/tags/react.md>), [student](<https://devfeed.tech/tags/student.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

A student intern describes two months working on Khan Academy's X-on-Mobile initiative. The article covers improving a mobile math keypad, fixing gesture-related bugs, adding interface features, learning idiomatic ES6 with React in production, and working with open-source libraries.

### Source excerpt

By Shadaj Laddad This past summer I had the amazing opportunity to work on a product I use ... Read more

## A critical history of JavaScript's prototype-based design and later TypeScript and ES6 changes

DevFeed: [A critical history of JavaScript's prototype-based design and later TypeScript and ES6 changes](<https://devfeed.tech/articles/the-fall-of-javascript-35600.md>)

Original publisher: [Read original article](<https://www.yegor256.com/2025/12/28/fall-of-javascript.html>)

Author: Yegor Bugayenko (yegor256@gmail.com)

Published: 2025-12-27T21:00:00Z

Content type: opinion

Language: en

Sources: [Yegor Bugayenko](<https://devfeed.tech/sources/yegor-bugayenko.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>)

Tags: [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [oop](<https://devfeed.tech/tags/oop.md>), [prototype](<https://devfeed.tech/tags/prototype.md>), [prototypes](<https://devfeed.tech/tags/prototypes.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [typescript-is-clumsy](<https://devfeed.tech/tags/typescript-is-clumsy.md>), [typescript-is-ugly](<https://devfeed.tech/tags/typescript-is-ugly.md>), [typescript-types](<https://devfeed.tech/tags/typescript-types.md>), [typescript-vs-javascript](<https://devfeed.tech/tags/typescript-vs-javascript.md>)

### AI overview

This opinion article recounts JavaScript's origins and argues that its prototype-based, class-free design was later undermined by TypeScript and ES6 classes. It also compares JavaScript's object model with Scheme, Self, C++, and Java.

### Source excerpt

JavaScript was an elegant prototype-based class-free language until TypeScript and ES6 classes ruined it.

## Fixing typedoc's generated TOC if your code is using ES6 modules

DevFeed: [Fixing typedoc's generated TOC if your code is using ES6 modules](<https://devfeed.tech/articles/fixing-typedoc-s-generated-toc-if-your-code-is-using-es6-modules-35551.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/typedoc-toc/>)

Author: Monica Dinculescu

Published: 2020-02-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A tutorial describing a workaround for TypeDoc navigation when a TypeScript JavaScript library exports only selected files from its top-level index.ts. The author reports that several TypeDoc flags did not prevent private files from appearing in the main table of contents, and uses injected JavaScript to hide files that are not top-level exports.

### Source excerpt

My one policy about blogging is "write the blog post you wanted to find in the search results". I spent an inordinate amount of time yesterday trying to get typedoc to only show the docs for the files I'm actually exporting in my library, and didn't find anything on the internet to help me, so here is the blog post I wanted to read. The problem You are working on a JS library. You author your source in TypeScript. You have an index.ts file that exports only some of your source files. You would like your generated docs from typedoc to only have docs for those files (Why? So that people don't open issues along the lines of "I see the docs for function foo, but I can't see how to call it, pls export it". Sweet child, if that function was meant to be public it probably would've been. That function is actually 3 spiders in a trench coat). That is, you would like your Table of Contents to show this: and not this: Things that aren't solutions In the order that I've tried them: the --mode modules flag: the word "modules" is a lie here and really just means "under a namespace" not like... ES6 modules (tracking issue) the --excludeNotExported flag: it helps to generate docs for only the exported functions, but not files the -excludePrivate flag: same as above the --exclude flag: this is nice in theory, but I have like 30+ private files that shouldn't be documented and only like 5 top level exports, so that regex will suck. Also, my experience is that next time someone adds a file they want or don't want documented they won't know to add it to this list and we're back to having a problem the --toc flag. I honestly don't know what it does, but for me, it did nothing 100% of the time thinking this should presently work in typedoc. Here is the tracking issue and the open PR that might fix it. My "solution" I'm less bothered that the docs for the private files get generated at all, and more bothered that they're linked in the main page TOC and thus discoverable. So my "solution" tha

## Why Do We Write super(props)?

DevFeed: [Why Do We Write super(props)?](<https://devfeed.tech/articles/why-do-we-write-super-props-36210.md>)

Original publisher: [Read original article](<https://overreacted.io/why-do-we-write-super-props/>)

Published: 2018-11-30T00:00:00Z

Content type: article

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [React](<https://devfeed.tech/topics/react.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [gotchas](<https://devfeed.tech/tags/gotchas.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This article explains why React class components call super(props), covering JavaScript constructor rules, parent-class initialization, and how React assigns props even when they are not passed to super.

### Source excerpt

There's a twist at the end.

## Setting up Webpack, Babel and React from scratch - Part 2

DevFeed: [Setting up Webpack, Babel and React from scratch - Part 2](<https://devfeed.tech/articles/setting-up-webpack-babel-and-react-from-scratch-part-2-37349.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/setting-up-webpack-babel-and-react-from-scratch-part-2/>)

Author: Stanko

Published: 2016-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [React](<https://devfeed.tech/topics/react.md>), [es6](<https://devfeed.tech/topics/es6.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [css](<https://devfeed.tech/tags/css.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [sass](<https://devfeed.tech/tags/sass.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

Part two of a tutorial on setting up Webpack, Babel, and React covers adding SASS support, source maps, Autoprefixer, hot reloading, and additional ES6 features such as static class properties and decorators.

### Source excerpt

Part two # Update: Part two is pretty much done. Part three will cover redux and production builds. Other parts: Part 1 - Webpack, Babel, React, Router, ESLint Part 2 - SASS, More ES6 goodness (Static props, decorators, deconstruction...) Part 3 - Where to go from here Adding SASS # We will use SASS loader for webpack, so let's install it together with node-sass compiler, css and style loaders npm install --save-dev style-loader css-loader sass-loader node-sass Create scss folder in the app folder, and main app.scss file in it. This file will include all of the other scss files. Now we need to add a loader to webpack config file. ... { test: /\.scss$/, loader: 'style!css!sass' } ... This will handle importing SCSS files in our JavaScript code. So we need to import app.scss manually in the JavaScript code. You'll need to add only one line to your app.js. import '../scss/app.scss'; This includes your styles by calling loaders we defined in the webpack config. Restart your webpack, and voala, now we have styles and hot reloading for them. Try changing your styles to check it. Source maps # To enable source maps, we'll pass the sourceMap option to the sass and the css loaders. Enable devtool, and update the loader ... devtool: 'inline-source-map', // or 'source-map' module: { loaders: [ ... { test: /\.scss$/, loader: 'style!css?sourceMap!sass?sourceMap', } ] } ... If you want to read more, here's link to the official documentation Autoprefixer # Always use autoprefixer - I can't stress this enough. We'll need postcss loader, precss and autoprefixer npm install --save-dev postcss-loader precss autoprefixer At the top of our webpack config, require precss and autoprefixer const precss = require('precss'); const autoprefixer = require('autoprefixer'); Update our sass loader config and and postcss config ... module: { loaders: [ ... { test: /\.scss$/, loader: 'style!css?sourceMap!postcss!sass?sourceMap', } ] }, postcss() { return [autoprefixer, precss]; }, ... Restart webpa

## Highlight variables in Atom, Babel template strings

DevFeed: [Highlight variables in Atom, Babel template strings](<https://devfeed.tech/articles/highlight-variables-in-atom-babel-template-strings-37281.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/highlight-vars-in-atom-babel-javascript/>)

Author: Stanko

Published: 2016-05-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Atom](<https://devfeed.tech/topics/atom.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Snippet](<https://devfeed.tech/topics/snippet.md>), [Less](<https://devfeed.tech/topics/less.md>)

Tags: [atom](<https://devfeed.tech/tags/atom.md>), [babel](<https://devfeed.tech/tags/babel.md>), [css](<https://devfeed.tech/tags/css.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [es6](<https://devfeed.tech/tags/es6.md>), [less](<https://devfeed.tech/tags/less.md>), [snippet](<https://devfeed.tech/tags/snippet.md>), [template-strings](<https://devfeed.tech/tags/template-strings.md>), [variable](<https://devfeed.tech/tags/variable.md>)

### AI overview

A guide to fixing an Atom Babel plugin issue where variables in ES6 template strings are not highlighted. It provides an Atom style.less snippet that styles JavaScript variables and explains how to inspect Atom's element classes for additional CSS or LESS customizations.

### Source excerpt

Atom Babel plugin doesn't highlight variables in ES6 (ES2015) template strings. You'll need to add this snippet to your Atom's style.less atom-text-editor::shadow .variable.js { color: #F8F8F2; } In general, you can just inspect stuff in Atom, find out what classes element are using, and then style it via CSS (LESS). Just don't forget to add atom-text-editor::shadow before your rules. If anyone is interested, I'm using Monokai Seti theme.

## Jekyll and Gulp workflow

DevFeed: [Jekyll and Gulp workflow](<https://devfeed.tech/articles/jekyll-and-gulp-workflow-37301.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/jekyll-gulp-workflow/>)

Author: Stanko

Published: 2016-02-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Gulp](<https://devfeed.tech/topics/gulp.md>), [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>), [es6](<https://devfeed.tech/topics/es6.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [es6](<https://devfeed.tech/tags/es6.md>), [gulp](<https://devfeed.tech/tags/gulp.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>), [sass](<https://devfeed.tech/tags/sass.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This tutorial describes a Jekyll development workflow that uses Gulp to compile and watch SASS and JavaScript, run a local Jekyll server, proxy it through BrowserSync, and reload the browser on changes. The author notes that the setup may be outdated because they no longer use Jekyll.

### Source excerpt

Please note that I'm not using Jekyll anymore, so this post might be outdated. Update, November 2017 # I don't use this setup anymore, it might be outdated, proceed with caution. Original post # As you probably know this blog is powered by Jekyll. It is a really nice platform, but it lacks a few things I'm used to during development. First one is live reload on file changes (and injecting CSS), using SASS, autoprefixer, ES6... I tried to find a boilerplate, but everything I found didn't match my needs. Usually people would run gulp tasks for SASS and JavaScript files, and on change run jekyll build, which is insanely slow. They would use BrowserSync to serve _site folder. So I did what programmers do - written my own. I quickly made usual gulp tasks: styles - to compile SASS and autoprefix it scripts - to transpile ES6 goodness, and concatenate JavaScript files serve - to start local server, watch for changes and auto reload First thing I did is that I was running jekyll serve in one terminal, and gulp serve with BrowserSync in the other. This was working decently, but I wanted to run only one command, and let the tasks do everything for me. That is where node child process comes in. import childProcess from 'child_process'; const spawn = childProcess.spawn; gulp.task('jekyll', function (){ const jekyll = spawn('jekyll', ['serve'], { stdio: 'inherit' }); }); This task spawns a child process from gulp. Nice thing is that we can start it, and gulp will kill it on exit. Now we have up and running Jekyll server, and proxy it to BrowserSync. But darn, injecting CSS files didn't really work. Server was expeting CSS file to come from /css/style.css, but browserSync.stream in gulp pipe would inject it from the _sass folder. I solved this by copying css file to the .tmp/css and adding .tmp to the serveStatic option of the BrowserSync. One thing I should mention, that I keep my SASS files in the _sass folder, and JavaScript in the _js one. Gulp watches changes on SASS/JS, and

## How to export a JavaScript module to multiple formats

DevFeed: [How to export a JavaScript module to multiple formats](<https://devfeed.tech/articles/how-to-export-a-javascript-module-to-multiple-formats-27938.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2015-12-17-export-multiple-javascript-module-formats/>)

Author: Tom Bartel

Published: 2015-12-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Library](<https://devfeed.tech/topics/library.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [modules](<https://devfeed.tech/topics/modules.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [es6](<https://devfeed.tech/tags/es6.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains how to use webpack to publish a JavaScript library in multiple module formats, including CommonJS, AMD, ES6, global-variable, and UMD formats. It covers the libraryTarget configuration and using multiple compiler runs for different build targets.

### Source excerpt

When publishing a JavaScript library, we usually want to make it available to as many people as possible to maximize the library's usefulness and adoption. In that respect, it can be helpful to users to have the library available in their preferred module format - CommonJS, AMD, ES6, etc.

## Multiline strings in ES6 JavaScript

DevFeed: [Multiline strings in ES6 JavaScript](<https://devfeed.tech/articles/multiline-strings-in-es6-javascript-32304.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/multiline-strings-in-es6-javascript/>)

Author: Jack Tarantino

Published: 2015-11-29T23:59:53Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [string](<https://devfeed.tech/tags/string.md>), [template](<https://devfeed.tech/tags/template.md>), [template-strings](<https://devfeed.tech/tags/template-strings.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

A tutorial on ES6 Template Strings in JavaScript, covering multiline strings, interpolation, tagged template strings, and older ES5 techniques for writing multiline strings.

### Source excerpt

The new kid in town is called Template Strings. Template Strings are demarked by a backtick(`) on either end and can contain other backticks if they are escaped by a backslash(ie. let my_string = `some cool \`escaped\` thing`). This new kind of primitive in JavaScript is different from

## ES6 IIFE with fat arrow functions

DevFeed: [ES6 IIFE with fat arrow functions](<https://devfeed.tech/articles/es6-iife-with-fat-arrow-functions-32301.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/es6-iife-with-fat-arrow-functions/>)

Author: Jack Tarantino

Published: 2015-11-29T17:45:39Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [es6](<https://devfeed.tech/topics/es6.md>), [es2015](<https://devfeed.tech/topics/es2015.md>), [function](<https://devfeed.tech/topics/function.md>), [syntax](<https://devfeed.tech/topics/syntax.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [closure](<https://devfeed.tech/tags/closure.md>), [context](<https://devfeed.tech/tags/context.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [es6](<https://devfeed.tech/tags/es6.md>), [function](<https://devfeed.tech/tags/function.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how to write Immediately Invoked Function Expressions (IIFEs) in ES6 using fat arrow functions. It compares shorter syntax options, notes differences in function context, and describes a compact form for creating closures that cannot accept arguments.

### Source excerpt

Writing Immediately Invoked Function Expressions or IIFEs in ES6(Also known as ES2015 now) just got a lot easier with the introduction of fat arrow functions. (global => { const MY_CONSTANT = 'api key or something' let counter = 0 let some_array = [1,2,34,5,6,7] counter = some_array.