Подтвердить что ты не робот

Может ли TypeScript взаимодействовать с jQuery без файла определения?

Я пытаюсь узнать этот новый материал TypeScript, и мне немного любопытно.

Может ли он работать с существующими фреймворками javascript, такими как jQuery без, необходимость в файле определения со всеми этими интерфейсами? Я пытаюсь проверить это вручную, но до сих пор я немного не уверен, насколько расширяется функциональность.

Обновление

by "work" Я имею в виду простую функциональность, а не функции IDE, такие как автозаполнение.

4b9b3361

Ответ 1

Простой ответ да.

TypeScript способен полностью взаимодействовать с любой существующей библиотекой Javascript. Вам нужен только файл определения, если вы хотите, чтобы инструменты в среде IDE упрощали его использование.

Кроме того, если вы не включаете файл определения, компилятор TypeScript может рассердиться на вас за использование переменной, которая не была определена в вашем коде (например, $). Чтобы обойти это, вам, возможно, придется сделать что-то вроде

declare var $;

Тем не менее, я не уверен, почему вы не захотите использовать файл определения jQuery. Разумеется, гораздо удобнее писать jQuery с помощью.

Ответ 2

Да, вы можете. Например, просто напишите:

declare var $;

и вы можете в основном использовать структуру JQuery без необходимости определять что-либо еще. Это также очень удобно при преобразовании существующих библиотек/кода переноса.

Ответ 3

Typescript позволяет объявлять переменные в выделенной области видимости с помощью синтаксиса declare variable или declare function (см. раздел 1.1 на стр. 9 в спецификации языка). Однако использование эмбиентных объявлений может быть только краткосрочным решением, так как вы эффективно потеряете всю статическую проверку Typescript и, следовательно, одно из самых важных преимуществ Typescript над Javascript.