Я перечислил некоторые из самых популярных вопросов интервью для ES6, заданных во время интервью.
Какие новые функции появились в ES6
- Пусть и константные ключевые слова.
- Параметры по умолчанию.
- Функции стрелки.
- Шаблонные литералы.
- Литералы объекта.
- Операторы отдыха и распространения.
- Деструктивное задание.
- Модули, классы, генераторы и итераторы.
- Обещания и многое другое.
let: переменные, объявленные с помощью ключевого слова let, будут изменяемыми, т. е. значения переменных могут быть изменены. Оно похоже на ключевое слово var, за исключением того, что обеспечивает область действия блока.
const. Переменные, объявленные с помощью ключевого слова const, являются неизменяемыми и блочными. Значение переменных нельзя изменить или переназначить, если они объявлены с использованием ключевого слова const.
Стрелочные функции представлены в ES6. Стрелочные функции — это сокращенное обозначение для записи функции ES6. Определение стрелочной функции состоит из параметров, за которыми следует стрелка (=›) и тело функции.
Функция Arrow также называется функцией "толстая стрелка". Мы не можем использовать их в качестве конструкторов.
const functionName = (arg1, arg2, …) =› {
//тело функции
}
Оператор распространения в ES6 с примером
Оператор распространения представлен тремя точками (…) для получения списка параметров. Это позволяет расширять итерируемый объект, такой как массив или строка, в местах, где ожидается более нуля аргументов.
Он также используется для объединения или выполнения конкатенации между массивами.
пусть число1 = [40,50,60];
пусть число2 = [10,20,30,… число1,70,80,90,100];
console.log(число2);
результат
[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ]
Параметр Rest в ES6 с примером
С остальными параметрами можно представить неопределенные параметры в виде массива. Используя оставшийся параметр, мы можем вызывать функцию с любым количеством аргументов.
показать функцию (…аргументы) {
пусть сумма = 0;
for (пусть i аргументов) {
сумма += я;
}
console.log("Сумма = "+сумма);
}
показать(10, 20, 30);
результат
Sum = 60
Что такое литералы шаблона?
Предоставляет простой способ создания многострочных строк и интерполяции строк. Литералы шаблонов допускают встроенные выражения и также называются строковыми литералами.
Литералы шаблонов заключаются в символ обратной кавычки (` `). Заполнители в литералах шаблонов представлены знаком доллара и фигурными скобками (${expression}). Если нам нужно использовать выражение внутри обратных кавычек, мы можем поместить это выражение в (${expression}).
пусть str1 = «Привет»;
пусть str2 = «Мир»;
пусть str = `${str1} ${str2}`;
console.log(ул);
Результат
Hello World
Разрушение присваивания в ES6?
Извлекать данные из объектов и массивов в отдельные переменные. Это позволяет нам извлекать более мелкие фрагменты из объектов и массивов.
let fullname = ['Алан','Рикман'];
пусть [fname,lname] = полное имя;
console.log(fname,lname);
Alan Rickman
Как создать класс в ES6
класс имя_класса{
}
Функции генератора
Генератор — это особый тип функции, которая может быть приостановлена в середине один или несколько раз и может быть возобновлена позже. Объявление function* (ключевое слово function, за которым следует звездочка) используется для определения функции-генератора. Когда генератор вызывается, он не запускает свой код. Вместо этого он возвращает специальный объект, который называется Generator object для управления выполнением.
функция* ген()
{
выход 100;
урожай;
выход 200;
}
// Вызов функции-генератора
вар mygen = gen();
console.log(mygen.next().value);
console.log(mygen.next().value);
console.log(mygen.next().value);
результат
100 undefined 200
Какие параметры по умолчанию?
параметры по умолчанию, мы можем инициализировать именованные параметры значениями по умолчанию, если значение отсутствует или передается undefined.
var show = (a, b=200) =› {
console.log(a + " " + b);
}
показать(100);
результат
100 200
Что вы подразумеваете под IIFE (немедленно вызываемые функциональные выражения)?
IIFE — это функция в JavaScript, которая запускается, как только она определена. Ее также называют самостоятельной анонимной функцией. Он включает в себя две основные части, которые заключаются в следующем:
- Первая часть — это анонимная функция с лексической областью видимости (статической областью видимости), которая заключена в оператор группировки ().
- Вторая часть создает IIFE, с помощью которого движок JavaScript будет напрямую интерпретировать функцию.
(функция()
{
console.log("Привет, мир");
})();
Hello World
Обсудите цикл for…in.
Это похоже на цикл for, который перебирает свойства объекта. Это полезно, когда нам нужно посетить свойства или ключи объекта.
функция Мобильный(модель_но){
это.Model = model_no;
это.Color = ‘Белый’;
это.RAM = ‘4GB’;
}
var Samsung = new Mobile("Galaxy");
for (var props в Samsung)
{
console.log(props+ " : " +Samsung[props]);
}
результат
Model: Galaxy Color: White RAM: 4GB
Обсудите цикл for…of.
Этот цикл используется для повторения итераций (массивы, строки и т. д.).
var fruit = ['Яблоко', 'Банан', 'Манго', 'Апельсин'];
for(пусть стоимость фруктов)
{
console.log(значение);
}
Apple Banana Mango Orange
Определить набор?
Набор — это структура данных, которая позволяет нам создавать набор уникальных значений. Это набор значений, похожих на массивы, но не содержащий дубликатов. Он поддерживает как ссылки на объекты, так и примитивные значения.
let colors = new Set(['Зеленый', 'Красный', 'Оранжевый', 'Желтый', 'Красный']);
console.log(цвета);
результат
Set { 'Green', 'Red', 'Orange', 'Yellow' }
Определить карту
Он содержит пары ключ-значение, в которых значения любого типа могут использоваться как ключи или значения. Объект карты всегда помнит фактический порядок вставки ключей. Карты упорядочены, поэтому они пересекают элементы в порядке их вставки.
Что вы понимаете под Weakset?
С помощью слабого набора можно хранить слабо удерживаемые объекты в коллекции. Как и set, weakset не может хранить повторяющиеся значения. Weakset не может быть повторен.
Weakset включает только методы add(value), delete(value) и has(value) объекта set.
Что вы понимаете под Weakmap?
Слабые карты почти аналогичны картам, но ключами в слабых картах должны быть объекты. Он хранит каждый элемент в виде пары ключ-значение, где на ключи слабо ссылаются. Здесь ключи являются объектами, а значения произвольными.
Слабый объект карты повторяет элемент в порядке вставки. Он включает только методы delete(key), get(key), has(key) и set(key, value).
Объясните промисы в ES6
Промисы — это самый простой способ работы с асинхронным программированием в JavaScript. Асинхронное программирование включает запуск процессов по отдельности из основного потока и уведомляет основной поток о завершении.
До ES6 для выполнения асинхронного программирования использовались обратные вызовы. Обещания используются для преодоления проблемы адского обратного вызова.
Каковы состояния промисов в ES6?
Промисы в основном имеют три состояния:
- Ожидание. Это начальное состояние каждого промиса. Это означает, что результат еще не был вычислен.
- Выполнено: означает завершение операции.
- Отклонено: представляет собой сбой, произошедший во время вычислений.
Как только обещание будет выполнено или отклонено, оно станет неизменным. Конструктор Promise() принимает два аргумента: функцию отклонения и функцию разрешения. В зависимости от асинхронной операции он возвращает либо первый аргумент, либо второй аргумент.
Что вы понимаете под Callback и Callback hell в JavaScript?
Обратный вызов: используется для обработки выполнения функции после завершения выполнения другой функции. Обратный вызов будет полезен при работе с событиями. В обратном вызове функция может быть передана в качестве аргумента другой функции. Это отличный способ, когда мы имеем дело с базовыми случаями, такими как минимальные асинхронные операции.
Ад обратного вызова. Когда мы разрабатываем веб-приложение, включающее много кода, работа с обратным вызовом становится запутанной. Такое чрезмерное вложение обратных вызовов часто называют адом обратных вызовов.
Модули в JavaScript
Модули — это часть кода JavaScript, записанная в файле. Используя модули, легко поддерживать код, отлаживать код и повторно использовать код. Каждый модуль представляет собой фрагмент кода, который выполняется после загрузки.
Что такое термин Подъем в JavaScript
Это поведение JavaScript по умолчанию, которое используется для перемещения всех объявлений вверху области перед выполнением кода. Его можно применять как к функциям, так и к переменным. Это позволяет JavaScript использовать компонент до его объявления. Это не относится к скриптам, работающим в строгом режиме.
Дайте определение Вавилону
Babel — один из популярных транспиляторов JavaScript. Он в основном используется для преобразования кода ES6 plus в обратно совместимую версию JavaScript, которая может выполняться предыдущими движками JavaScript.
Дайте определение веб-пакету.
Это сборщик модулей JavaScript с открытым исходным кодом, который принимает модули с зависимостями. Это позволяет нам запускать среду, в которой размещается Babel.