ES

Arrow function

Сохраняет ключевое слово this.

Параметры по умолчанию

      • чаще всего идут последними в списке
      • могут иметь любой тип

      Rest параметр

      • всегда массив(может быть пустым)
      • получает аргументы, которые не были присвоены обычным параметрам
      • должен быть последним в списке
      • максимум один rest-параметр в функции
      • передается только в функции

      Spread оператор

      Разворачивает массив в список аргументов. Можно передавать сколько угодно.

      Деструктуризация объектов

      const person = {person.name: 'gryzha', person.age: 25}
      const { name, age } = person - создает две переменные, с таким же названием поля объекта.
      const {name: n, age: a} = person;
      const options = {
        size: {
          width: 100,
          height: 200
        },
        items: ["Пончик", "Пирожное"]
      }
      
      const { title="Меню", size: {width, height}, items: [item1, item2] } = options;
      
      // Меню 100 200 Пончик Пирожное
      alert(title);  // Меню
      alert(width);  // 100
      alert(height); // 200
      alert(item1);  // Пончик
      alert(item2);  // Пирожное

      Можно пропускать значения отделяя его запятой.