100 вопросов на собеседование по JavaScript. С подробными объяснениями. Ирина Кириченко
Чтение книги онлайн.

Читать онлайн книгу 100 вопросов на собеседование по JavaScript. С подробными объяснениями - Ирина Кириченко страница 2

СКАЧАТЬ Создаем конструктор объекта

      function Animal(name) {

      this.name = name;

      }

      // Добавляем метод в прототип объекта Animal

      Animal.prototype.sayHello = function () {

      console.log("Hello, my name is " + this.name);

      };

      // Создаем экземпляр объекта Animal

      let cat = new Animal("Whiskers");

      // Вызываем метод sayHello у объекта cat

      cat.sayHello(); // Выводит "Hello, my name is Whiskers"

      8. Что такое стрелочные функции (arrow functions) и в чём их особенность? Какие у них могут быть ограничения?

      Стрелочные функции (arrow functions) отличаются от обычных функций тем, что не имеют своего собственного контекста this, используя контекст окружающего кода. Они также короче и автоматически возвращают значение, если оно записано в одну строку без использования фигурных скобок. Однако у стрелочных функций есть ограничения, например, они не могут быть использованы как конструкторы или иметь свои собственные методы this.

      const regularFunction = function(a, b) {

      return a + b;

      };

      const arrowFunction = (a, b) => a + b; // Короткий синтаксис для однострочных выражений

      // Стрелочная функция с использованием фигурных скобок

      const arrowFunctionWithBlock = (a, b) => {

      const result = a + b;

      return result;

      };

      9. Что такое асинхронность в JavaScript? Какие инструменты предоставляет JavaScript для работы с асинхронным кодом?

      Асинхронность в JavaScript – это способ выполнения операций, который не блокирует основной поток выполнения. В JavaScript для работы с асинхронным кодом используются колбэки (callbacks), промисы (promises), async/await и другие методы, позволяющие эффективно управлять асинхронными операциями.

      // Пример использования Promise и fetch для асинхронного получения данных

      fetch('https://api.example.com/data')

      .then(response => response.json())

      .then(data => console.log(data))

      .catch(error => console.error('Error fetching data:', error));

      // Пример использования async/await

      async function fetchData() {

      try {

      const response = await fetch('https://api.example.com/data');

      const data = await response.json();

      console.log(data);

      } catch (error) {

      console.error('Error fetching data:', error);

      }

      }

      10. Как работает система обработки ошибок (error handling) в JavaScript?

      Система обработки ошибок (error handling) в JavaScript позволяет обнаруживать и обрабатывать ошибки в коде. Это включает в себя использование конструкции try…catch, где код, который может вызвать ошибку, помещается в блок try, а обработка ошибки происходит в блоке catch.

      function divide(a, b) {

      try {

      if (b === 0) {

      throw new Error('Division by zero');

      }

      return a / b;

      } catch (error) {

      console.error('Error:', error.message);

      }

      }

      console.log(divide(10, 2)); // Выведет: 5

      console.log(divide(10, 0)); // Выведет: "Error: Division by zero"

      11. Что такое hoisting в JavaScript? Как это работает с переменными и функциями?

      Hoisting в JavaScript – это механизм, при котором переменные и функции "поднимаются" вверх своей области видимости перед тем, как код СКАЧАТЬ