Если вы разработчик, работающий с TypeScript, возможно, вы сталкивались с двумя расширениями файлов:.d.ts и.ts. Хотя оба расширения связаны с TypeScript, они служат разным целям, и понимание их нюансов может значительно улучшить ваш рабочий процесс разработки. В этой статье мы углубимся в различия между файлами.d.ts и.ts, рассмотрим варианты их использования и предоставим примеры кода, иллюстрирующие их функциональные возможности.
Что такое файлы.d.ts и.ts?
В TypeScript файлы.ts содержат реальный код TypeScript, который преобразуется в JavaScript. В этих файлах вы пишете логику своего приложения, определяете классы, интерфейсы, функции и переменные. Они являются сердцем вашего проекта TypeScript.
С другой стороны, файлы.d.ts представляют собой файлы объявлений, также известные как файлы определений TypeScript. Они предоставляют информацию о типах существующих библиотек JavaScript, модулей или внешних зависимостей, которые не имеют собственных определений TypeScript. Файлы объявлений помогают TypeScript понять форму и структуру этих внешних объектов, обеспечивая проверку типов и автодополнение в вашей кодовой базе.
Случаи использования и примеры:
Файлы
- .ts:
В файлах.ts вы пишете код приложения. Вот пример простого класса TypeScript:
// sample.ts
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
const john = new Person("John", 25);
john.greet();
Файлы
- .d.ts:
Файлы.d.ts предоставляют информацию о типе внешних библиотек или модулей JavaScript. Допустим, вы используете библиотеку под названием «moment.js» в своем проекте TypeScript. Однако у «moment.js» нет собственных определений TypeScript, поэтому вы создаете файл.d.ts для предоставления необходимых типов:
// moment.d.ts
declare module "moment" {
function moment(): any;
export = moment;
}
Теперь вы можете импортировать и использовать «moment.js» в своих файлах.ts с правильной проверкой типов:
// app.ts
import * as moment from "moment";
const today = moment();
console.log(today.format("YYYY-MM-DD"));
Преимущества использования файлов.d.ts:
- Усовершенствованное автозаполнение и IntelliSense: файлы объявлений позволяют средам разработки предоставлять точные предложения по автозаполнению на основе доступных типов во внешних библиотеках.
- Проверка типов. Имея информацию о типе в файлах.d.ts, TypeScript может выявлять потенциальные ошибки типов и обеспечивать проверку типов во время компиляции.
- Улучшенная документация: файлы деклараций действуют как документация для внешних библиотек, что упрощает разработчикам понимание их API и их использования.
Иными словами, файлы.ts содержат логику вашего приложения, тогда как файлы.d.ts предоставляют информацию о типах для внешних библиотек или модулей JavaScript. Использование файлов.d.ts расширяет возможности разработки, обеспечивая автозаполнение, проверку типов и улучшенную документацию. Понимание различий между файлами.d.ts и.ts позволит вам писать чистый и безошибочный код TypeScript.