Size: a a a

2020 June 29

R

Rafael 🦠 in ☄️ effector
Nikolay 🦸‍♂️🍔 Morozov
наверное из-за === null, типа может быть undefined
Ой бля, точно 🙈
источник

R

Rafael 🦠 in ☄️ effector
Тройное равенство
источник

R

Rafael 🦠 in ☄️ effector
👍, всем спасибо, все умнички
источник

c⁣

createStore<🦉>... in ☄️ effector
Rafael 🦠
Тройное равенство
не стоит юзать другое)
источник

AO

Aleksandr Osipov in ☄️ effector
createStore<🦉> ⁣
не стоит юзать другое)
почму? когда проверить на null и undefined одновременно почему бы и нет
источник

AO

Aleksandr Osipov in ☄️ effector
!= null
источник

R

Rafael 🦠 in ☄️ effector
Aleksandr Osipov
почму? когда проверить на null и undefined одновременно почему бы и нет
+
источник

R

Rafael 🦠 in ☄️ effector
createStore<🦉> ⁣
не стоит юзать другое)
почему?
источник

AO

Aleksandr Osipov in ☄️ effector
Могу предположить что в конфиге eslint-та стоит правило что только strict equals можно ну и чтобы не писать eslint-disable ...
источник

c⁣

createStore<🦉>... in ☄️ effector
Rafael 🦠
почему?
не очевидно
источник

c⁣

createStore<🦉>... in ☄️ effector
не всегда понятно, ты или опечатался или действительно хотел сравнить и с null и с undefined
источник

c⁣

createStore<🦉>... in ☄️ effector
и сам кейс T | null | undefined вызывает огромные вопросы
источник

c⁣

createStore<🦉>... in ☄️ effector
поэтому я думаю, что такое сравнение это “звоночек”, что что-то пошло не так
источник

R

Rafael 🦠 in ☄️ effector
У меня ui компоненты при сбросе на дефолтное состояние возвращают null
источник

R

Rafael 🦠 in ☄️ effector
Поэтому для меня этот кейс валидный
источник

R

Rafael 🦠 in ☄️ effector
И я наоборот стараюсь в коде не делать отличий между null и undefined, потому что считаю что с точки зрения семантики разница между ними в том что null - это ничего, который поставил программист, а undefined это ничего поставленное системой
источник

BB

Bugs Bunny in ☄️ effector
ну на самом деле есть затыки тут
источник

c⁣

createStore<🦉>... in ☄️ effector
Rafael 🦠
И я наоборот стараюсь в коде не делать отличий между null и undefined, потому что считаю что с точки зрения семантики разница между ними в том что null - это ничего, который поставил программист, а undefined это ничего поставленное системой
а разница по факту несколько глубже

undefined — неопределенное состояние, отсутствие поля например
null — вполне определенное состояние в union когда отсутсвие значение Ожидается разработчиком.
источник

BB

Bugs Bunny in ☄️ effector
и в рантайме точно так же. может быть не задана, а может быть задана со значением undefined, о чем и говорит второй интерфейс
источник

BB

Bugs Bunny in ☄️ effector
но при этом в обоих случаях это number | undefined. но и ведет себя немного по-другому соответственно
источник