равно приводятся в any
через интерфейс ты можешь описывать функции, которых в ts нет. хакать
что значит нет в ts? спасибо за пример, но он, получается, не типобезопасен. игноры, приведения к типу. можно обойти их?
не типобезопасен, потому что я имитирую код, которого нет в тс. там может быть const func = window.$ as Func так же декларации типов для библиотек — код библиотек написан на js, рантайм весь на js. а для интеропа с ts описаны интерфейсы. самих функций (их реализаций) нет в ts
если ты хочешь написать перегрузку (и сигнатуру, и реализацию) на ts, то только способом с function...
а, то есть так нельзя https://bit.ly/3ceGL2p ? и вот этот интерфейс в библиотеке деклараций https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/styled-components/index.d.ts#L292 описывает код только для js (всмысле я не смогу сделать так в ts)?
вот этот интерфейс в библиотеке деклараций нужен только для того, чтобы рассказать тайпскрипту, как работает функция, написанная на джаваскрипте
и это максимально не-типобезопасно
вопрос про декларации типов для библиотеки. их пишут вручную или генерируют (в случае, если библиотека написана на ts)?
если библиотека написана на языке со статической типизацией — генерится. иначе только руками
а есть где почитать про бестпрактис, ну, кроме declaration: true. собственно работаю с библиотекой и автоматическая декларация не устраивает
и еще вопрос по библиотекам деклараций. вижу, что многие интерфейсы экспортированы, это же нормально, если я импортирую в собственный проект и строю типы на их основе. например, кастомизирую библиотеку
йеп
спасибо
Обсуждают сегодня