JavaScript — универсальный и динамичный язык. На технических собеседованиях часто встречаются сложные и каверзные вопросы по JavaScript, которые проверяют ваше понимание языковых нюансов, области действия, замыканий и многого другого. Давайте рассмотрим самые каверзные вопросы по кодированию JavaScript:
1. Загадочная правдивость пустых массивов
Вопрос: Что выведет следующий код?
if ([] == false) { console.log("Hello!"); } else { console.log("Hi!"); }
Ответ: Вывод будет «Привет!».
2. Загадочное замыкание и проблема цикла
Вопрос: Что выведет следующий код?
for (var i = 1; i <= 5; i++) { setTimeout(function() { console.log(i); }, 1000); }
Ответ: на выходе будет пять экземпляров числа 6.
3. Неуловимое сравнение NaN
Вопрос: Что выведет следующий код?
console.log(NaN === NaN);
Ответ: Результат будет false
.
4. Сбивающее с толку ключевое слово «это»
Вопрос: Что выведет следующий код?
const person = { name: "John", greet: function() { console.log(`Hello, my name is ${this.name}.`); } }; const greetFunc = person.greet; greetFunc();
Ответ: вывод будет «Привет, мое имя не определено».
Решение сложных и каверзных вопросов по JavaScript требует глубокого понимания нюансов и поведения языка. Постоянно выполняя упражнения по программированию и изучая тонкости языка, вы улучшите свои навыки и сделаете вас более уверенным разработчиком JavaScript.
Сообщите мне, если у вас возникнут сомнения или сомнения.
Если вам понравилась эта статья, подпишитесь на меня в Medium и других социальных сетях, чтобы узнать больше о программировании, производительности и технологиях.