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.