Как я могу повторно использовать тип элемента интерфейса?

#typescript

#typescript

Вопрос:

 export interface Car {
    Name: string;
    Speed: number;
    Manufactured: number;
}

const Speed: Car.Speed = 200;
  

В настоящее время Car.Speed вызывает ошибку:

Не удается получить доступ к ‘Car.Speed’, потому что ‘Car’ — это тип, а не пространство имен. Вы хотели получить тип свойства ‘Speed’ в ‘Car’ с помощью ‘Car [«Speed»]’?

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

1. Car.Speed сам по себе ничего не значит. Javascript не будет обрабатывать его после компиляции.

Ответ №1:

Вы можете «запросить» тип элемента, используя следующий синтаксис:

 const Speed: Car['Speed'] = 200;
  

Больше информации о типах поиска здесь .

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

1. Является ли Car объектом?

2. @AlekseyL. — Нет, но это не средство доступа к свойству, потому что оно находится в выражении типа, а не в выражении времени выполнения: Live demo . Алексей — Вау, это действительно круто.

3. @Ajay — Это JavaScript. Это типовая часть объявления, которая является TypeScript .

4. @T.J.Crowder здесь вроде как упоминается, я постараюсь найти место с лучшим определением

5. @T.J.Crowder смотри также typescriptlang.org/docs/handbook/release-notes /…