Глава 2. Обязательные вопросы для собеседования по JavaScript
JavaScript — самый популярный язык программирования в мире, широко используемый для веб-разработки. Разработчики с опытом работы с JavaScript могут легко освоить интерфейсные библиотеки, такие как React.
Это делает JavaScript языком, который необходимо знать профессионалам. Благодаря широкому использованию JavaScript, он предлагает множество возможностей для трудоустройства новичков/профессионалов. Если вы готовитесь к собеседованию по JavaScript, ниже приведен список вопросов, которые вы должны знать.
1. Разница между картой и forEach и в чем заключается функция фильтра?
Для каждого
Метод forEach()
получает функцию в качестве аргумента и применяет один и тот же код к каждому элементу. Он ничего не возвращает, он просто применяет условия к каждому элементу. Это не изменит исходный массив.
Карта
Метод map()
получает функцию в качестве параметра и, подобно forEach, карта применяет код к каждому элементу и возвращает совершенно новый массив. Это не изменит исходный массив.
Фильтр
Метод filter()
получает функцию в качестве параметра. Он запускает функцию для каждого элемента массива. Он вернет новый массив, который удовлетворяет примененному условию. Это не изменит исходный массив.
Разница
- Разница между
map()
иforEach()
заключается в возвращаемом значении.map()
вернет новый массив в соответствии с примененными условиями, тогда какforEach()
ничего не вернет.forEach()
возвращает не определено. - Если у вас есть требование изменить текущий массив и ожидать изменения, вам следует использовать
map()
. Если вы просто хотите перебрать массив, вы можете использоватьforEach()
. - Поскольку
forEach()
возвращает значение undefined, вы не можете присоединить к нему другие функции, такие какfilter()
. Вы можете легко применитьfilter()
сmap()
.
//forEach var Language = ['React','Javascript','HTML','CSS']; Language.forEach(function(language){ console.log(language); }); //map var List = [10,12,15,30]; var updatedList = List.map(function(list){ return list * 2 }); console.log("original List" ,List) //Original array not Modified console.log("Updated List" , updatedList) //Returns new array //filter var List = [10,12,15,30]; var updatedList = List.filter(function(list){ return list % 2 == 0 }); console.log("original List" ,List) //Original array not Modified console.log("Updated List" , updatedList) //Returns new array
2. Что такое параметры Rest в JavaScript?
Параметр Rest — одна из особенностей ES6. Остаток можно соотнести с осталось все для облегчения понимания. Rest собирает все оставшиеся элементы и объединяет их в массив.
Давайте лучше разберемся на приведенном ниже примере. В JavaScript мы можем вызывать функцию с любым количеством параметров, независимо от количества параметров, которые она принимает в соответствии с объявлением функции.
3. Что такое подъем переменных в JavaScript?
Поднятие в JavaScript позволяет нам использовать переменные до их объявления. Это связано с тем, что в JavaScript все объявления перемещаются в верхнюю часть области видимости.
Например, если вы используете переменные внутри какой-либо функции, на этапе компиляции движок JavaScript перемещает их в начало функции.
Следует отметить, что поднимаются только объявления, а не инициализации.
Для переменных и констант мы используем var, let и const. ключевое слово var инициализируется как undefined по умолчанию. Из-за этого мы можем сначала объявить var, а затем инициализировать его, но это не относится к let и const. Если let и const не инициализированы каким-либо значением, они выдают ошибку. Как было сказано ранее, поднимаются только объявления, поэтому let и const не допускают подъема.
4. Что такое блочная и глобальная область видимости в JavaScript?
- Область действия блока применяется к переменным, объявленным внутри любого блока, окруженного {}.
- Глобальная область действия будет применяться к переменным, объявленным вне какого-либо блока или функции.
В основном, целью этого вопроса является проверка областей действия let, var и const.
- Var имеет глобальную область видимости, если она объявлена вне функции, а если она объявлена внутри функции, она будет ограничена функцией.
- Let и const имеют блочную область видимости, т. е. внутри {}.
5. В чем разница между let, const и var?
Версия ECMA:
Var представлена в ES5. Let и const введены в ES6
Область действия:
переменная имеет глобальную область действия, если объявлена вне функции. Он будет иметь функциональную область, если объявлен внутри функции.
Let и const имеют блочную область видимости, т. е. внутри {}
Поднятие:
переменные Var поднимаются наверх своей области видимости.
переменные Let и const могут быть подняты, но мы не сможем получить к ним доступ, потому что их нужно инициализировать к некоторому значению. В JavaScript поднимаются только объявления, а не инициализации, поэтому мы не можем использовать подъем для let и const.
Модификация и повторное объявление.
Переменные Var можно обновлять и повторно объявлять напрямую.
Переменные Let можно обновлять, но не повторно объявлять. const не может быть обновлен и повторно объявлен.
Переменные, объявленные с помощью const, не являются постоянными/фиксированными. Они могут быть мутированы. Например, константное число; num++
Мы не можем напрямую обновлять, но можем мутировать.
var userName = "TnS_User" userName = "TnS_User1"; console.log(userName) //TnS_User1 var userName = "TnS_User_redeclaration" console.log(userName) //TnS_User_redeclaration let userName = "TnS_User" userName = "TnS_User1"; console.log(userName) //TnS_User1 let userName = "TnS_User_redeclaration" console.log(userName) //Uncaught SyntaxError: Identifier 'userName' has already been declared" const userName = "TnS_User" userName = "TnS_User1"; console.log(userName) //Uncaught TypeError: Assignment to constant variable." const userName = "TnS_User_redeclaration" console.log(userName) //Uncaught SyntaxError: Identifier 'userName' has already been declared"
6. Что такое функции ES6?
Основные функции ES6 следующие:
- Обещания
- Стрелочные функции
- пусть ключевое слово
- константное ключевое слово
- Многострочные строки
- Отдых и распространение (…)
7. В чем разница между обратным вызовом и обещанием?
Обратный звонок:
Обратный вызов — это функция, которая передается в качестве аргумента другой функции и будет вызываться, когда она соответствует применяемым условиям. функции обратного вызова в основном используются в случае асинхронных вызовов. при передаче функции в качестве аргумента не используйте круглые скобки.
Обещание:
Обещания обеспечивают более чистый способ обработки асинхронных операций. Как следует из слова обещание, оно либо соблюдается и исполняется в будущем, либо нарушается. Обещание в JavaScript имеет три состояния — разрешено, ожидается и отклонено.
//Callback function Tns(userName, callbackFun) { console.log('User Name -' + ' ' + userName); callbackFun(); } function callbackFun() { console.log('I am TnS_User'); } Tns('TnS_User', callbackFun); //Promise Syntax const TnsPromise = new Promise((resolve, reject) => { // condition });
Это все для этой статьи. Если вы считаете эту статью полезной, пожалуйста, ознакомьтесь и с другими статьями.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.