Базовая структура TypeScript

Базовую структуру программы на TypeScript можно разделить на несколько частей, каждая из которых имеет определённое назначение.

Ниже приведены общие компоненты программы на TypeScript:

  • Объявления: включая объявления типов, объявления интерфейсов и т. д.
  • Объявления переменных: включаяlet, constиvarиспользование.
  • Объявления функций: включая обычные функции и стрелочные функции.
  • Объявления классов: используются для определения классов и их членов.
  • Интерфейсы & псевдонимы типов: описывают структуру типов.
  • Модуляризация: черезimportиexportорганизовать код.
  • Утверждения типов: принудительное преобразование типов.
  • Обобщения: делают код более переиспользуемым.
  • Комментарии: повышают читаемость кода.
  • Вывод типов: автоматически выводит типы.
  • Защитники типов: сужают область типов.
  • Асинхронное программирование: поддерживаетasync/await。
  • Обработка ошибок: черезtry/catchчтобы перехватывать ошибки.

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


1. Объявления

Объявления типов:TypeScript — это статически типизированный язык, который использует объявления типов для определения типов переменных, функций, классов и многого другого. Объявления типов помогают сделать код более удобным для сопровождения и читаемым.

Пример

let name: string = "Alice";
let age: number = 30;

Объявления интерфейсов:Используются для определения структуры объекта, включая его свойства и методы.

Пример

interface Person {
    name: string;
    age: number;
}

2. Объявления переменных

В TypeScript можно использовать let, const и var для объявления переменных. Рекомендуется использовать let и const; var больше не рекомендуется.

Пример

let age: number = 25;
const pi: number = 3.14;

3. Объявления функций

Объявления функций: TypeScript позволяет объявлять функции с аннотациями типов, включая типы параметров и типы возвращаемых значений.

Пример

function greet(name: string): string {
    return "Привет, " + name;
}

Стрелочные функции:TypeScript также поддерживает стрелочные функции ES6, используя краткий синтаксис для объявления функций.

Пример

const greet = (name: string): string => "Hello, " + name;

4. Объявления классов

TypeScript обеспечивает поддержку объектно-ориентированного программирования, позволяя определять классы, их методы и свойства.

Пример

class Person {
    name: string;
    age: number;
   
    constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
    }
   
    greet() {
    return `Hello, my name is ${this.name}`;
    }
}

5. Интерфейсы и псевдонимы типов

Интерфейс: используется для описания формы объекта; интерфейсы могут наследоваться и расширяться.

Пример

interface Animal {
    name: string;
    sound: string;
    makeSound(): void;
}

Псевдоним типа:Позволяет определять псевдонимы для объектных типов, объединённых типов, пересечённых типов и многого другого.

Пример

type ID = string | number;

6. Модули и импорты/экспорты

TypeScript поддерживает модульное программирование; вы можете использовать import и export для организации кода.

Экспорт:

Пример

export class Person {
    constructor(public name: string) {}
}

Импорт:

Пример

import { Person } from './person';

7. Утверждения типов

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

Пример

let value: any = "hello";
let strLength: number = (value as string).length;

8. Обобщения

Обобщения позволяют не указывать конкретные типы при определении функций, интерфейсов или классов, а вместо этого использовать заполнители, позволяющие пользователям передавать конкретные типы при их использовании. Обобщения повышают переиспользуемость кода и безопасность типов.

Пример

function identity<T>(arg: T): T {
    return arg;
}

9. Комментарии

Комментарии используются в программах на TypeScript, чтобы объяснять назначение и логику кода, повышая читаемость.

Однострочные комментарии:

Пример

// Это однострочный комментарий

Многострочные комментарии:

Пример

/* Это
многострочный комментарий */


10. Вывод типов

TypeScript автоматически выводит тип переменной в определённых ситуациях. Например, при объявлении переменной и присваивании значения TypeScript выводит тип переменной.

Пример

let num = 10;  // TypeScript выводит, что num имеет тип number

11. Защитники типов

TypeScript предоставляет защитники типов (такие как typeof и instanceof) для сужения диапазона типов переменных во время выполнения.

Пример

function isString(value: any): value is string {
    return typeof value === 'string';
}

12. Асинхронное программирование

TypeScript полностью поддерживает асинхронное программирование; вы можете использовать синтаксис async/await для обработки асинхронных операций.

Пример

async function fetchData(): Promise<string> {
    const response = await fetch("https://example.com");
    const data = await response.text();
    return data;
}

13. Обработка ошибок

TypeScript позволяет обрабатывать ошибки с помощью блоков try/catch, а также вы можете использовать типы для описания типов ошибок.

Пример

try {
    throw new Error("Что-то пошло не так");
} catch (error) {
    if (error instanceof Error) {
        console.error(error.message);
    }
}
Другие расширения