Игорь
null и undefined равны друг другу в == и не равны ничему другому, примерно так и записано в спецификации, без приведений типов
Андрей
Вот такая странная штука что особо не сталкиваешься с подробным вещами в работе. Например не пользуюсь приведением типов. Определяю всегда переменные чтобы в не ожиданном месте не получить еррор. И тд и тп. Вся эта ересь по типу null == undefined или "строка"[0] проходит мимо стороной, и если наталкиваюсь на подобное то четко знаю что наговнокодил. Но блин на собеседование спрашивают такую дичь постоянно которой в бреду пользоваться не станешь
Nikita
Игорь
Основы языка теперь дичь, оказывается 😏
Андрей
Это основны граблестроения js
Андрей
Такие вещи как тайпскрипт например помогают избавиляться от граблей в родном js
Viktor
Доброго всем времени суток) Посоветуйсте пожалуйста, с чего начать изучение программирования? Я в сети натыкался на основы ООП, с него начать?
stay
Ну слушай. Дело не в том, что не сталкиваешься. От тебя требуют понимания работы языка, смотрят знаешь ли ты тонкости.
Андрей
Да это я понимаю..
Nikita
> Array(30).fill().map((_, i) => parseInt(NaN, i)).join(',')
'NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,13511,14648,15831,17060,18335,19656'
Nikita
> Array(30).fill().map((_, i) => parseInt(NaN, i)).join(',')
'NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,13511,14648,15831,17060,18335,19656'
Это тоже понятно, прописано в спеке, и основы жс.
Но на собеседовании я такое не спрашиваю.
Nikita
Nikita
А со строкой-то что не так?
Игорь
Nikita
Игорь
спасибо, кэп
Nikita
/shrug
Игорь
Но в жизни обычно встречают двоичную, 10-ричную, 8-ричную, 16-ричную
Игорь
И в последней есть одно отличие от остальных
Игорь
Которое даст тебе подсказку
Андрей
Ещё я долго угарал с ёжик > яблоко
Андрей
Тут сегодня тоже этот вопрос задавал
Игорь
Nikita
Которое даст тебе подсказку
Там не только в этом подвох, а, скорее, в приведении с строке. (И регистронезависимости, но это мелочь).
Игорь
Возникает ощущение что впервые видишь всё это
Андрей
Nikita
Игорь
Игорь
Почему вдруг с 24-й сс пошли числа
Syntax Highlight Bot
Андрей
Не так "ёжик" > "яблоко"
Dika
Syntax Highlight Bot
Dika
Андрей
Это про таблицы юникода
Nikita
Андрей
Буква ё идёт в списке ниже
Андрей
Николай
Помогите пожалуйста) Как можно эту жесть оптимизировать? Мне просто нужно получить токен, без всяких промисов, просто отправить запрос, получить токен и вернуть его из функции.
Игорь
Вот эта ещё хорошая
let z, { z: x = 1 } = { z }; x;
Syntax Highlight Bot
Николай
Игорь
Игорь
Nikita
Андрей
Nikita
Чтобы унизить человека, очевидно 😊
Интересно, есть ли люди, задающие на собеседовании ту самую задачку про
(typeof x === 'undefined' && !x && !!(x+x)) === true (примеры варьируются).
Это вообще самое бесполезное, что можно спросить, кмк.
Nikita
(если сходу)
Nikita
Если посмотреть, как человек с гуглом, интернетом, и спекой полезет это раскручивать — то мб и интересно.
Игорь
а что надо x подобрать?
Nikita
Андрей
null + {0:1}[0] + [,[1],][1][0]
stay
У меня такого обычно не спрашивали.
В основном у меня интересовались тонкостями работы event loop, Спрашивали про паттерны функционального программирования, немного про ООП и прототипирование. Такой жести давно уже не было.
Андрей
Это вопрос тупо на внимательность с запятыми и тп
Nikita
А, это то, чего тебя спросили?
Андрей
Последняя часть [1][0] тут как бы надо реально приглядеться чтобы не решить что это undefined
Андрей
Вот от того и NaN
stay
Ой, я помню у меня был
``` "123".split("").reduce((acc,curr)=>{return acc+curr}
```
Nikita
Nikita
Вот тут приглядывайся :trollface:
Nikita
[[0],2][[[]+[11,2]][0][[[1][[0]]]]] - так ещё хуже
Nikita
Но опять же, непонятно, зачем спрашивать такое.
Nikita
Николай
Nikita
А ещё можно попросить код на jsfuck реверсить. :trollface:
Nikita
Правда, если дать компьютер — это уже норм вопрос становится. Хотя смотря какие таски.
stay
Это который с 6 символами?
Nikita