🔥 Каверзный вопрос с собеса
Метод
🔍 Что происходит на самом деле:
➕ radix = 0 означает автоопределение системы счисления:
• если строка начинается с '0x' или '0X' → основание = 16
• во всех остальных случаях → используется основание = 10
Поэтому '1' интерпретируется как десятичная.
➕ системы счисления с основанием 1 не существует => Nan
➕ '11' в двоичной системе — это 3₁₀ => 3
❇️ parseInt('11', 2) парсит всю строку как двоичную, потому что она корректна полностью.
Распространённый миф — будто бы берётся только первый символ; это неверно.
✅ Как исправить:
Или проще:
🐸 Библиотека фронтендера
#career_merge #middle
Метод
.map() передаёт в колбэк три аргумента: текущий элемент, индекс и исходный массив. Функция parseInt принимает: строку и radix — основание системы счисления. Поэтому индекс массива попадает в radix.
parseInt('1', 0)
• если строка начинается с '0x' или '0X' → основание = 16
• во всех остальных случаях → используется основание = 10
Поэтому '1' интерпретируется как десятичная.
parseInt('7', 1)
parseInt('11', 2)
Распространённый миф — будто бы берётся только первый символ; это неверно.
['1', '7', '11'].map(str => parseInt(str))
Или проще:
['1', '7', '11'].map(Number)
#career_merge #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤩3❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19💯4❤2
🚀 AbortController — как правильно отменять запросы
➡️ Проблема (1 картинка):
Пользователь быстро переключает вкладки или вводит текст в поиске. Старые запросы продолжают работать и могут перезаписать актуальные данные.
➡️ Решение (2 картинка):
Отменяйте предыдущие запросы через AbortController
Что это даёт:
🟢 Нет race condition — обновляется только последний запрос
🟢 Браузер действительно отменяет запрос на уровне сети
🟢 Код без лишних флагов вроде isCancelled
🟢 Работает с API, которые поддерживают AbortSignal (fetch, Axios ≥0.22, React Query)
Когда применять:
— Автодополнение и live-поиск
— Переключение вкладок и фильтров
— Отмена запросов при размонтировании компонента
— Повторные запросы в useEffect при изменении зависимостей
⚠️ Важные детали:
controller.abort() можно вызывать многократно — это безопасно
Отмена происходит на стороне клиента — запрос может дойти до сервера
После abort() новые запросы с тем же controller не сработают (создавайте новый)
Поддержка:
🟣 Fetch API — нативно
🟣 Axios ≥ 0.22 — через signal
🟣 React Query — через queryFn
🐸 Библиотека фронтендера
#hotfix #react
Пользователь быстро переключает вкладки или вводит текст в поиске. Старые запросы продолжают работать и могут перезаписать актуальные данные.
Отменяйте предыдущие запросы через AbortController
Что это даёт:
Когда применять:
— Автодополнение и live-поиск
— Переключение вкладок и фильтров
— Отмена запросов при размонтировании компонента
— Повторные запросы в useEffect при изменении зависимостей
⚠️ Важные детали:
controller.abort() можно вызывать многократно — это безопасно
Отмена происходит на стороне клиента — запрос может дойти до сервера
После abort() новые запросы с тем же controller не сработают (создавайте новый)
Поддержка:
#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4❤3👍3
Vue 3 использует Proxy, чтобы отслеживать изменения данных и обновлять только те части интерфейса, которые зависят от изменённых свойств.
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1