Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Для чего нужны функции?
Функции — это блоки кода, которые выполняют определённую задачу. Они помогают избежать дублирования кода, упрощают его обслуживание и делают программу более понятной. Функция может принимать данные (параметры) и возвращать результат. Например:
function greet(name) {
return `Привет, ${name}!`;
}
console.log(greet("Иван")); // Выведет: Привет, Иван!Что такое <template> и <slot>, как их использовать при создании кастомных элементов и динамических структур на странице?
<template> — это специальный элемент HTML, который позволяет создавать фрагменты кода, которые не отображаются на странице до тех пор, пока они не будут активированы с помощью JavaScript. Элемент <slot> используется в кастомных элементах для определения места, где можно вставить содержимое, переданное элементу. Эти элементы помогают разработчикам создавать более гибкие и переиспользуемые компоненты, которые могут динамически изменять свое содержимое в зависимости от контекста.
Перечислите способы объявления функции и особенность каждого?
В JavaScript функции можно объявлять несколькими способами: через function declaration, function expression, стрелочные функции (arrow functions), и методы в объектах. Каждый из этих способов имеет свои особенности: function declaration подвержены "поднятию" (hoisting), function expression нет, а стрелочные функции не имеют своего контекста this.
Что такое стрелочные функции и чем они отличаются от обычных функций?
Стрелочные функции — это сокращенная запись функций, которая не имеет своего контекста this. Они чаще всего используются для упрощения синтаксиса и не поддерживают некоторые особенности обычных функций, например, arguments и this. Эти функции удобны для написания короткого кода, но их нельзя использовать в ситуациях, где важен контекст.
Что такое IIFE и когда применяется?
IIFE (Immediately Invoked Function Expression) — это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.
Какого типа данных функция?
Есть ли у стрелочной функции методы call, apply и bind?
Что будет, если в функции изменить параметры, и что произойдет с ними?
Можно ли функции назначить свойства name и length?
Методы call, apply, bind — для чего они нужны?
Рейтинг:
2
Сложность:
3
В JavaScript функции являются объектами первого класса. Это значит, что функции можно передавать в качестве аргументов, возвращать из других функций и присваивать переменным. Тип данных функции — это объект, и у функций могут быть свойства и методы, такие как .call(), .apply() и .bind().
Рейтинг:
3
Сложность:
5
Стрелочные функции могут использовать методы call, apply и bind, но эти методы не изменяют контекст this внутри стрелочной функции. В отличие от обычных функций, стрелочные функции наследуют значение this из своей внешней области видимости (лексический контекст), и методы call, apply и bind не могут его изменить.
Рейтинг:
3
Сложность:
6
Если изменить параметры внутри функции, их значения будут изменены только внутри этой функции. При этом, если параметр является примитивом (число, строка, булевое значение), изменение затронет только локальную копию, а если параметр — объект, изменения отразятся на исходном объекте, потому что объекты передаются по ссылке.
Рейтинг:
2
Сложность:
6
Функции в JavaScript автоматически получают свойства name и length. name хранит имя функции, а length указывает количество ожидаемых параметров. Эти свойства задаются автоматически и не могут быть изменены напрямую. Однако имя анонимных функций может быть назначено через переменные или при использовании стрелочных функций.
Рейтинг:
4
Сложность:
6
Методы call и apply позволяют вызвать функцию с заданным значением this, но call передаёт аргументы через запятую, а apply — в виде массива. Метод bind возвращает новую функцию с фиксированным значением this, которая может быть вызвана позже. Эти методы полезны для контроля контекста выполнения функции, особенно при работе с методами объектов.
Рейтинг:
2
Сложность:
2
Рейтинг:
2
Сложность:
5
Рейтинг:
3
Сложность:
4
Рейтинг:
4
Сложность:
4
Рейтинг:
2
Сложность:
5