ECMAScript version 6 (ES6) is the latest specification of the JavaScript language. It is also referred to as ES2016. It brings new features and syntax to JavaScript, and they are the ones you should be familiar with to be successful in this book.
Firstly, require
statements are now import
statements. They are used to import
functions, object, and so on from an external module or script. In the past, to include React in a file, we would write something like this:
var React = require('react'); var Component = React.Component;
Using ES6 import
statements, we can rewrite it to this:
import React, { Component } from 'react';
The importing of Component
around a curly brace is called destructuring assignment. It's an assignment syntax that lets us extract specific data from an array or object into a variable. With Component
imported through destructuring assignment, we can simply call Component
in our code; it's automatically declared as a variable with the exact same name.
Next up, we're replacing var
with two different statements: let
and const
. The first statement, let
, declares a block-scoped variable whose value can be mutated. The second statement, const
, declares another block-scoped variable whose value cannot change through reassignment nor redeclaration.
In the prior syntax, exporting modules used to be done using module.exports
. In ES6, this is done using the export default
statement.