Экстендз+Юнион - адская смесь... По этой же причине https://t.me/ts_cool/149750
даже если без юнион https://www.typescriptlang.org/play?#code/MYGwhgzhAEDyB2BTAPAFQHwG8BQ1rAHt4IAXAJwFdgSCyAKAawEt4ATALmlQEppNoAvtiHZWiUGDKJoAMwrxqTItBKJSjFhzhJkAcgIkAFojK703TkgBuJ0ePBTZ8xctXrmbTghS6AtgE8zC2gAIwICEEQweGxsQmISaDBoAF4VNRI6JAB3bUQ6P0DubjiiUlDU9PUcvIKDY1NioA такое ощущение что дженерики не принимают участи в extends
https://t.me/ts_cool/149440
Вините дак-тайпинг
сори за возможно глупый вопрос, а что не так с этим примером, вы передаете число и вроде выбирается правильный оверлоад который возвращает boolean
Рантайм потом свалится, если использовать результат, как булеан
а это да, в моем случае более важна типизация чем рантайм
Важно, чтоб типизация не пустила такую ошибку в рантайм. Вот вам в догонку про гварды: https://safareli.medium.com/stricter-and-safer-type-guards-in-typescript-4cc0736970c6
это да, спасибо
Вообще-то надо вот так typeof x !== typeof NaN ? "yes it is" : "no"
Да ладно? 😂 Неужели, работает?
Работает, только если поменять !== на ===
нашел в чем дело, нужно иметь проперти с типом дженерика, достаточно добавить public к имени аргументов конструкторе чтобы они стали полями класса и все работает
Обсуждают сегодня