❓Что такое “currying” в JavaScript?
Ответ:
Currying — это процесс преобразования функции, которая принимает несколько аргументов, в серию функций, каждая из которых принимает один аргумент. Это позволяет создавать более универсальные и частично применяемые функции.
Пример:
const add = a => b => a + b;
const add5 = add(5);
console.log(add5(3)); // 8
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Пример:
const add = a => b => a + b;
const add5 = add(5);
console.log(add5(3)); // 8
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❓Что такое props и state в React?
Ответ:
Props (свойства) — это данные, которые передаются в компонент родителем. Props являются неизменяемыми для компонента.
State (состояние) — это данные, которые управляются внутри компонента и могут изменяться. Изменение состояния
вызывает повторный рендер компонента.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
State (состояние) — это данные, которые управляются внутри компонента и могут изменяться. Изменение состояния
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤1
❓Что такое серверный рендеринг (SSR) в React?
Ответ:
Серверный рендеринг (SSR) — это процесс рендеринга React-компонентов на сервере перед отправкой HTML-кода на клиент. Это улучшает SEO и ускоряет первоначальную загрузку приложения.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤1
Сервис-генератор фона с градиентом
Хороший сервис, который способен генерить фоны из нескольких цветов, чтобы всё выглядело хорошо (вместо обычных 2-3 цветов)
👀 Посмотреть-потыкать
Coderoll | Frontend
Хороший сервис, который способен генерить фоны из нескольких цветов, чтобы всё выглядело хорошо (вместо обычных 2-3 цветов)
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❓Что такое “middleware” в Redux?
Ответ:
Middleware в Redux — это промежуточные слои, которые могут перехватывать и обрабатывать действия перед тем, как они будут отправлены в редьюсер. Примером является redux-thunk, который позволяет использовать асинхронные операции.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Сервис-генератор фона с градиентом
Хороший сервис, который способен генерить фоны из нескольких цветов, чтобы всё выглядело хорошо (вместо обычных 2-3 цветов)
➡️ Открыть сервис
Coderoll | Frontend
Хороший сервис, который способен генерить фоны из нескольких цветов, чтобы всё выглядело хорошо (вместо обычных 2-3 цветов)
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Object.keys() - это метод, который возвращает массив из собственных перечисляемых свойств переданного объекта
Пример:
var obj = { first: "a", second: "b", third: "c" };
console.log(Object.keys(obj));
// консоль: [ 'first', 'second', 'third' ]
Не забудьте, что массивы - это тоже объекты, и к ним тоже можно применить данный метод. Хотя это и не нужно н практике
Object.values() - это метод, который возвращает массив значений перечисляемых свойств объекта
Пример:
const user = {
name: 'John',
surname: "Smith",
age: 35,
};
console.log(Object.values(user));
// консоль: Array [ 'John', 'Smith', 35 ]
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Экспоненциальный поиск позволяет выполнять поиск по отсортированному неограниченному списку для указанного входного значения (поисковый «ключ»)
Алгоритм состоит из двух этапов. Первый этап определяет диапазон, в котором ключ поиска находился бы, если бы он был в списке. На втором этапе выполняется бинарный поиск по этому диапазону
export const exponentialSearch = (
array: number[],
x: number
): number | null => {
const arrayLength = array.length
if (arrayLength === 0) return null
if (array[0] === x) return 0
let i = 1
while (i < arrayLength && array[i] <= x) {
i = i * 2
}
const start = Math.floor(i / 2)
const end = Math.min(i, arrayLength - 1)
const result = binarySearchIterative(array, x, start, end)
return result
}
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Используем принципы “Чистого кода” в контексте JavaScript.
❗️ Не создавайте глобальные функции, которые могут создать конфликт с аналогичными функциями сторонних библиотек
Вы можете написать свою новую функцию в Array.prototype, но она может конфликтовать с другой библиотекой, которая попытается сделать то же самое
Что, если эта другая библиотека просто использует diff, чтобы найти разницу между первым и последним элементами массива?
Вот почему было бы гораздо лучше просто использовать классы ES2015/ES6 и просто расширить глобальный Array.
Coderoll | Frontend
Функции
❗️ Не создавайте глобальные функции, которые могут создать конфликт с аналогичными функциями сторонних библиотек
Давайте разберем на примере: что, если вы хотите расширить собственный метод JavaScript Array, чтобы иметь метод diff, который мог бы показать разницу между двумя массивами?
Вы можете написать свою новую функцию в Array.prototype, но она может конфликтовать с другой библиотекой, которая попытается сделать то же самое
Что, если эта другая библиотека просто использует diff, чтобы найти разницу между первым и последним элементами массива?
Вот почему было бы гораздо лучше просто использовать классы ES2015/ES6 и просто расширить глобальный Array.
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
❓ Что такое Callback Hell?
Ответ:
Callback Hell — это ситуация, когда код становится трудно читаемым и поддерживаемым из-за глубокой вложенности коллбэков. Это часто происходит при работе с асинхронными операциями. Проблему можно решить с помощью Promises или Async/Await.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
💅4❤2
❓ Что такое Event Loop и как он работает?
Ответ:
Event Loop — это механизм, который управляет потоком выполнения кода в JavaScript, обеспечивая асинхронность. Он проверяет Call Stack и очереди задач (например, микрозадачи и макрозадачи) и выполняет их в нужном порядке.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
💅3❤2
❓ Что такое Object.defineProperty?
Ответ:
Object.defineProperty позволяет определить новое свойство в объекте или изменить существующее, с указанием его настроек (например, enumerable, writable, configurable).
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
💅1