Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.6K subscribers
2.95K photos
213 videos
49 files
5.23K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
🔥 Каверзный вопрос с собеса по TypeScript

Типы any и unknown часто путают, но они работают совершенно по-разному!

🔍 Что происходит на самом деле:

any — «отключает» TypeScript


let value1: any = "hello";
value1.toUpperCase(); // TS не проверяет
value1.someMethod(); // TS разрешает всё
value1.foo.bar.baz; // Никаких проверок


TypeScript полностью доверяет вам и не проводит никаких проверок
Это как "аварийный выход" из системы типов

unknown — «безопасный any»


let value2: unknown = "hello";
value2.toUpperCase(); // Ошибка компиляции!

// Нужна проверка типа:
if (typeof value2 === 'string') {
value2.toUpperCase(); // Теперь работает
}


TypeScript требует явной проверки типа перед использованием
Это безопасный способ работы с неизвестными данными

🎯 Когда использовать:

any — когда:
— Мигрируете JS → TS постепенно
— Работаете с legacy-кодом
— Но помните: это технический долг!

unknown — когда:
— Парсите JSON с бэкенда
— Работаете с пользовательским вводом
— Получаете данные из внешних API
— Обрабатываете ошибки в catch

Best practice:


// Плохо
function parseResponse(response: any) {
return response.data.user.name;
}

// Хорошо
function parseResponse(response: unknown) {
if (
response &&
typeof response === 'object' &&
'data' in response
) {
// Type guard для безопасной работы
return (response as {data: {user: {name: string}}}).data.user.name;
}
throw new Error('Invalid response');
}


❗️ unknown заставляет вас думать о безопасности типов, any — отключает эту защиту.

🐸 Библиотека фронтендера

#career_merge #ts #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥4🥰4👍1
Вопрос с собеседования по JavaScript

«Для чего в JavaScript нужен BigInt?»


Большинство кандидатов отвечают слишком обобщённо — «для больших чисел». Такой ответ почти всегда считают неполным.

🔤 Этот вопрос проверяет не знание синтаксиса, а понимание:

• ограничений типа Number
• потери точности в вычислениях
• того, когда JavaScript начинает молча врать

Выше — 5 карточек с разбором: в чём реальная проблема, что именно решает BigInt и как правильно отвечать на собеседовании 📎

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека фронтендера

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62🥰2
🔗 Вопрос с собеседования на Junior Frontend

👇 Правильный ответ (нажми, чтобы прочитать):

Хэш-таблица — это структура данных для хранения пар ключ–значение, где доступ к элементу осуществляется через хэш-функцию.
В среднем операции вставки, поиска и удаления выполняются за O(1), но при коллизиях возможна деградация до O(n).
Коллизии решаются, например, через цепочки или открытую адресацию.
В JavaScript аналогами являются Object и Map, при этом Map лучше подходит для частых операций добавления и удаления.


💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут

🐸 Библиотека фронтендера

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰42👍2