Глава 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 . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.