.d.ts против .ts: разгадка тайн TypeScript и улучшение вашей разработки игр

Если вы разработчик, работающий с TypeScript, возможно, вы сталкивались с двумя расширениями файлов:.d.ts и.ts. Хотя оба расширения связаны с TypeScript, они служат разным целям, и понимание их нюансов может значительно улучшить ваш рабочий процесс разработки. В этой статье мы углубимся в различия между файлами.d.ts и.ts, рассмотрим варианты их использования и предоставим примеры кода, иллюстрирующие их функциональные возможности.

Что такое файлы.d.ts и.ts?
В TypeScript файлы.ts содержат реальный код TypeScript, который преобразуется в JavaScript. В этих файлах вы пишете логику своего приложения, определяете классы, интерфейсы, функции и переменные. Они являются сердцем вашего проекта TypeScript.

С другой стороны, файлы.d.ts представляют собой файлы объявлений, также известные как файлы определений TypeScript. Они предоставляют информацию о типах существующих библиотек JavaScript, модулей или внешних зависимостей, которые не имеют собственных определений TypeScript. Файлы объявлений помогают TypeScript понять форму и структуру этих внешних объектов, обеспечивая проверку типов и автодополнение в вашей кодовой базе.

Случаи использования и примеры:

Файлы

  1. .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();

Файлы

  1. .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:

  1. Усовершенствованное автозаполнение и IntelliSense: файлы объявлений позволяют средам разработки предоставлять точные предложения по автозаполнению на основе доступных типов во внешних библиотеках.
  2. Проверка типов. Имея информацию о типе в файлах.d.ts, TypeScript может выявлять потенциальные ошибки типов и обеспечивать проверку типов во время компиляции.
  3. Улучшенная документация: файлы деклараций действуют как документация для внешних библиотек, что упрощает разработчикам понимание их API и их использования.

Иными словами, файлы.ts содержат логику вашего приложения, тогда как файлы.d.ts предоставляют информацию о типах для внешних библиотек или модулей JavaScript. Использование файлов.d.ts расширяет возможности разработки, обеспечивая автозаполнение, проверку типов и улучшенную документацию. Понимание различий между файлами.d.ts и.ts позволит вам писать чистый и безошибочный код TypeScript.