Что такое «DefinitelyTyped»?

#typescript #typescript-typings #definitelytyped

#typescript #typescript-типизация #definitelytyped

Вопрос:

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

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

Приветствуются любые указатели, статьи, примеры кода.

Ответ №1:

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

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

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

Комментарии:

1. «Это помогло?» Да.

2. Спасибо. Ясно объяснено!

Ответ №2:

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

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

 import random from 'lodash/random';

const result = random(????);
  

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

Вот где DefinitelyType проявляется его сила. После установки DefinitelyType из Lodash

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

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

Комментарии:

1. Моя компания не использует typescript, но могу ли я извлечь из них выгоду, используя только простой javascript?

2. Типы всегда помогают сделать код более читаемым и поддерживаемым.

3. Отличный отклик и видео. Спасибо.