Этот вопрос кажется простым, но когда вы на него на самом деле отвечаете, это другое дело. Когда ES6 используется в нашем повседневном использовании, это легко сделать. Когда вы действительно отвечаете на вопрос, вы можете даже не помнить стрелочные функции... . ..
Будь то набор в школу или социальный набор, если вам задают этот вопрос, пожалуйста, скажите как можно больше, чтобы интервьюер подумал, что вы действительно освоили ES6. здесь.Общие черты и их основные моменты, вам нужно максимально сосредоточиться на этих моментах в соответствии с вашим собственным пониманием во время интервью. Наконец, эта статья подходит только для ответов на интервью, а не для изучения ES6.Если вы хотите более подробно понять ES6, вы можете прочитать Учителя Руана.Начало работы с ES6
1. Появление команд let и const
- Разница между let и const:const определяет константу только для чтения.После объявления переменной она должна быть немедленно инициализирована и не может быть оставлена для последующего назначения и не может быть изменена.
- Нет переменного продвижения, объявленная переменная должна использоваться после объявления, иначе будет сообщено об ошибке
- Повторное объявление переменных не допускается, нельзя повторно объявлять одну и ту же переменную в одной и той же области видимости.
- область действия блока, до ES6 были только область видимости функции и глобальная область видимости, а фигурная скобка была областью действия на уровне блока.
- Объявленная переменная не принадлежит окну
2. Разрушающее назначение
- Основное использование деструктурирующего присвоения массивов, объектов, строк и т. д. и установка значений по умолчанию
- Использование деконструкции
(1) Поменять местами значение переменной
(2) Получить несколько значений, возвращаемых функцией
(3) Установка значения по умолчанию для функциональных параметров
(4) Загрузка по запросу для импорта модуля
3. Расширение строки
- строка шаблона
-
добавление методов
includes()
,startsWith()
,endsWith()
..... - Сопоставление именованной группы регулярного выражения
4. Численное расширение
- Улучшить представление двоичного (начиная с 0b) и восьмеричного (начиная с 0o)
-
Миграция и расширение методовБуду
parseInt()
а такжеparseFloat()
отwindow
объект перенесен наNumber
на объекте - Экспоненциальный оператор**
5. Расширение функций
- Установка значения по умолчанию для параметров функции
- стрелочная функция
Примечания по использованию стрелочных функций:
(1) Внутри тела функцииthis
Объект — это объект, в котором он определен, а не объект, в котором он используется.
(2) Его нельзя использовать как конструктор, то есть его нельзя использоватьnew
команда, иначе будет выброшена ошибка
(3) Вы не можете использовать объект arguments, которого нет в теле функции. Если вы хотите использовать его, вы можете вместо этого использовать остальные параметры
3.остаточный параметр
6. Расширение массива
- спред оператор
использовать
(1) Скопируйте массив
(2) Объединение массивов
(3) остаточный параметр функции
2. Расширение методаArray.from()
,Array.of()
метод экземпляраfill()
,flat()
7. Расширение объекта
- Краткое представление свойств и методов
- выражение имени свойства
- проходимость
for..in
,Object.key(obj)
- Увеличение супер ключевого слова
- новый метод
Object.is()
,Object.assign()
8. Модуль импорта модуля
Говоря об этом, необходимо объяснить интервьюеру разницу между модулями ES6 и модулями CommonJS.
- Модули CommonJS выводят копию значения, модули ES6 выводят ссылку на значение.
- Модули CommonJS загружаются во время выполнения, а модули ES6 представляют собой скомпилированные интерфейсы.
Если вам не очень понятно, вы можете прочитатьэта статья
9. Другие аспекты
- Применение и понимание обещания и асинхронности, упомянутые здесь, он может спросить о реализации обещания далее, что также является распространенным вопросом.
- Тип данных символа
- устанавливать и отображать структуры
- class
Наконец, я надеюсь, что вы преуспеете в интервью, чем усерднее вы работаете, тем удачливее вы становитесь, давай