Что такое "Определенно"?

Я вижу, что "DefinitelyTyped" - это что-то связанное с TypeScript/JavaScript-разработкой, но я не мог понять его использование или образец кода, чтобы понять его.

Я посмотрел http://definitelytyped.org/ и http://bartvds.github.io/projects/dt.html, но не мог понять это лучше.

Любые указатели, статья, образец кода очень оценены.

Ответ 1

TypeScript позволяет вам иметь файлы декларации, которые представляют собой файлы, которые позволяют вам описать форму кода, написанного (например) на обычном JavaScript. Таким образом, ссылаясь на один из этих файлов, вы сообщаете TypeScript, как именно тот код или библиотека JavaScript, которую вы используете, должен считаться "типизированным". Конечно, это означает, что файл декларации должен быть тщательно написан и синхронизирован с библиотекой JavaScript, которую вы используете.

Определенно, Typed - это самый популярный репозиторий файлов объявлений для многих библиотек JavaScript, большинство из которых не предоставляют свои собственные файлы объявлений (так как они не разработаны с использованием TypeScript и не работают с ним). Таким образом, он содержит файлы декларации, поддерживаемые сообществом

Используя DefinitiveTyped и содержащиеся в нем файлы объявлений, вы можете использовать большинство популярных библиотек JavaScript, как если бы они были библиотеками TypeScript, в том смысле, что у вас будет валидация типов компилятором (как указывает файл объявлений). Кроме того, будучи очень популярным, DefiniteTyped будет курировать сообщество, чтобы оно содержало действительные файлы объявлений (хотя, веб-разработка - это то, что движется очень быстро, вы можете в конечном итоге найти пару проблем, особенно в неясных библиотеках).

Ответ 2

Приведенное выше описание довольно понятно, однако, если вы похожи на меня, возможно, приведенный ниже код может помочь вам получить общую картину.

Например, в вашем проекте есть пакет lodash, вы импортируете и используете его метод.

import random from 'lodash/random';

const result = random(????);

Вы можете остановиться и спросить, сколько параметров может потребоваться этому методу? а что за данные для каждого параметра? Вы должны найти домашнюю страницу lodash, найти random документацию по API, чтобы знать, как ее использовать. Выполнив кучу задач, вы можете указать неправильный порядок параметров, но ничего не отобразится, пока вы не запустите свое приложение и не получите ошибку.

Вот где DefinitelyType показывает свою силу. После установки Определенно Типа Лодаша

yarn add @types/lodash
  • когда вы начнете вводить random метод, во всплывающей подсказке будет показано, как использовать параметры.
  • если вы предоставите неверный тип данных параметров, он покажет ошибку, чтобы вы знали и исправили ее немедленно.

Имеет ли это смысл? если нет, не волнуйтесь, выключите музыку и послушайте это видео, я уверен, что вы поймете это.