JavaScript ES6

Что такое ECMAScript 6?

ECMAScript 6 также известен как ES6 и ECMAScript 2015.

Некоторые называют его JavaScript 6.

Эта глава знакомит с некоторыми новыми функциями ES6.

  • JavaScript let
  • JavaScript const
  • Мощь (**)
  • Значения по умолчанию
  • Array.find()
  • Array.findIndex()

Поддержка браузеров для ES6 (ECMAScript 2015)

Safari 10 и Edge 14 были первыми браузерами, которые полностью поддерживали ES6:

Chrome 58 Edge 14 Firefox 54 Safari 10 Opera 55
Jan 2017 Aug 2016 Mar 2017 Jul 2016 Aug 2018

JavaScript let

Оператор let позволяет вам использовать блоковую область действия для объявления переменных.

Пример

var x = 10;
// Здесь x equals 10
{ 
  let x = 2;
  // Здесь x equals 2
}
// Здесь x equals 10

Попробуйте сами

JavaScript const

const Оператор позволяет вам объявлять константы (JavaScript переменные с константными значениями).

Константы подобны let Переменные, но их значение нельзя изменить.

Пример

var x = 10;
// Здесь x equals 10
{ 
  const x = 2;
  // Здесь x equals 2
}
// Здесь x equals 10

Попробуйте сами

Наших JavaScript Let / Const Прочитайте больше о let и const содержание.

Оператор степени

Оператор взятия степени (**Поднимает первый операнд в степень второго операнда.

Пример

var x = 5;
var z = x ** 2;          // результат 25

Попробуйте сами

x ** y результат Math.pow(x,y) Точно так же:

Пример

var x = 5;
var z = Math.pow(x,2);   // результат 25

Попробуйте сами

Значения по умолчанию

ES6 Функция параметров может иметь значения по умолчанию.

Пример

function myFunction(x, y = 10) {
  // y equals 10 if not passed or undefined
  return x + y;
}
myFunction(5); // вернет 15

Попробуйте сами

Array.find()

find() Метод возвращает значение первого массивного элемента, удовлетворяющего тестовой функции.

Этот пример ищет (возвращает) первый элемент (значение), которое больше 18:

Пример

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Попробуйте сами

Обратите внимание, что эта функция принимает 3 параметра:

  • Значение элемента
  • Индекс элемента
  • Сам массив

Array.findIndex()

findIndex() Метод возвращает индекс первого массивного элемента, удовлетворяющего тестовой функции.

Этот пример определяет индекс первого элемента, превышающего 18:

Пример

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Попробуйте сами

Обратите внимание, что эта функция принимает 3 параметра:

  • Значение элемента
  • Индекс элемента
  • Сам массив

Новые числовые свойства

ES6 добавил следующие свойства к объекту Number:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER

Пример

var x = Number.EPSILON;

Попробуйте сами

Пример

var x = Number.MIN_SAFE_INTEGER;

Попробуйте сами

Пример

var x = Number.MAX_SAFE_INTEGER;

Попробуйте сами

Новые числовые методы

ES6 добавил 2 новых метода к объекту Number:

  • Number.isInteger()
  • Number.isSafeInteger()

Метод Number.isInteger()

Если параметр является целым числом, то Number.isInteger() метод возвращает true.

Пример

Number.isInteger(10);        // Возвращает true
Number.isInteger(10.5);      // Возвращает false

Попробуйте сами

Метод Number.isSafeInteger()

Безопасные целые числа можно точно представить как целые числа с двойной точностью.

Если параметр является безопасным целым числом, то Number.isSafeInteger() метод возвращает true.

Пример

Number.isSafeInteger(10);    // Возвращает true
Number.isSafeInteger(12345678901234567890);  // Возвращает false

Попробуйте сами

Безопасные целые числа представляют собой все целые числа от -(253 - 1) до +(253 - 1).

Это безопасно: 9007199254740991. Это не безопасно: 9007199254740992.

Новые глобальные методы

ES6 добавил 2 новых глобальных числовых метода:

  • isFinite()
  • isNaN()

Метод isFinite()

Если параметр равен Infinity или NaNесли результат isFinite() Метод возвращает false.

В противном случае возвращает true:

Пример

isFinite(10/0);       // Возвращает false
isFinite(10/1);       // Возвращает true

Попробуйте сами

Метод isNaN()

если аргумент является NaNесли результат isNaN() метод возвращает true. В противном случае возвращает false:

Пример

isNaN("Hello");       // возвращает true

Попробуйте сами

箭очные функции (Arrow Function)

箭очные функции позволяют использовать краткую синтаксис для записи выражений функций.

вам не нужно function ключевые слова,return ключевые слова ифигурные скобки.

Пример

// ES5
var x = function(x, y) {
   return x * y;
}
// ES6
const x = (x, y) => x * y;

Попробуйте сами

箭очные функции не имеют своего this. Они не подходят для определенияметоды объекта.

их необходимо использовать箭очные функции не поднимаются.для определения.

использовать const чем использование var более безопасно, так как функция выражения всегда является константой.

Если функция является единственной инструкцией, то её можно опустить return Ключевые слова и фигурные скобки. Поэтому их сохранение может быть хорошей привычкой:

Пример

const x = (x, y) => { return x * y };

Попробуйте сами