Руководство по аннотациям в TypeScript

В этом руководстве вы узнаете об аннотациях основных типов и их вводе в TypeScript.

Что такое аннотация типа в TypeScript?

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

TypeScript использует синтаксис : type после идентификатора в качестве аннотации типа, где type может быть любым допустимым типом.

Как только идентификатор аннотирован типом, он может использоваться только как этот тип. Если идентификатор используется как другой тип, компилятор TypeScript выдаст ошибку.

Ввод аннотации в переменные и константы

Следующий синтаксис показывает, как указывать аннотации типов для переменных и констант:

let variableName: type;
let variableName: type = value;
const constantName: type = value;

В этом синтаксисе аннотация типа идет после имени переменной или константы и предваряется двоеточием ( : ).

В следующем примере используется аннотация number для переменной:

let counter: number;

После этого вы можете только присвоить номер переменной counter :

counter = 1;

Если вы присвоите строку переменной counter , вы получите ошибку:

let counter: number;
counter = 'Hello'; // compile error

Ошибка:

Type '"Hello"' is not assignable to type 'number'.

Вы можете использовать аннотацию типа для переменной и инициализировать ее в одном операторе следующим образом:

let counter: number = 1;

В этом примере мы используем числовую аннотацию для переменной counter и инициализируем ее единицей.

Ниже показаны другие примеры аннотаций примитивного типа:

let name: string = 'John';
let age: number = 25;
let active: boolean = true;

В этом примере переменная name получает тип string , переменная age получает тип number , а переменная active получает тип boolean .

Примеры типовых аннотаций

Массивы

Чтобы аннотировать тип массива, который вы используете, используйте определенный тип, за которым следует квадратная скобка : type[] :

let arrayName: type[];

Например, следующее объявляет массив строк:

let names: string[] = ['John', 'Jane', 'Peter', 'David', 'Mary'];

Объекты

Чтобы указать тип объекта, вы используете аннотацию типа объекта. Например:

let person: {
   name: string;
   age: number
};

person = {
   name: 'John',
   age: 25
}; // valid

В этом примере объект person принимает только объект с двумя свойствами: name с типом string и age с типом number .

Аргументы функций и типы возвращаемых значений

Ниже показана аннотация функции с аннотацией типа параметра и типа возвращаемого значения:

let greeting : (name: string) => string;

В этом примере вы можете назначить любую функцию, которая принимает строку и возвращает строку, переменной greeting :

greeting = function (name: string) {
    return `Hi ${name}`;
};

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

greeting = function () {
    console.log('Hello');
};

Ошибка:

Type '() => void' is not assignable to type '(name: string) => string'. Type 'void' is not assignable to type 'string'.

Используйте аннотации TypeScript типа с синтаксисом : [type] , чтобы явно указать тип для переменной, функции, возвращаемого значения функции и т. д.

Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript