Как импортировать enum, чтобы использовать его значение?

В TypeScript существует несколько способов импортирования enum и использования его значений.

Первый способ - это использование простого импорта с указанием пути к файлу, содержащему enum. Предположим, у вас есть файл "enums.ts", содержащий следующий enum:

enum Color {
  Red = 'red',
  Blue = 'blue',
  Green = 'green'
}

Чтобы импортировать этот enum и использовать его значения в другом файле, вы можете сделать следующее:

import { Color } from './enums';

console.log(Color.Red); // 'red'
console.log(Color.Blue); // 'blue'
console.log(Color.Green); // 'green'

Здесь мы использовали ключевое слово import, указали имя enum { Color } и путь к файлу ./enums. Теперь мы можем использовать значения enum, просто обращаясь к ним через имя enum и точку, например Color.Red.

Второй способ - это использование "импорта с повторным присвоением". Другими словами, вы можете присвоить импортированному enum новое имя, чтобы не использовать его оригинальное имя. Вот пример:

import { Color as MyColor } from './enums';

console.log(MyColor.Red); // 'red'
console.log(MyColor.Blue); // 'blue'
console.log(MyColor.Green); // 'green'

Здесь мы использовали ключевое слово import, а затем указали имя enum с ключевым словом as, и следом новое имя MyColor. Теперь мы можем использовать значения enum, обращаясь к ним через новое имя MyColor.

Третий способ - это использование именованного экспорта для enum. Предположим, у вас есть файл "enums.ts" со следующим кодом:

export enum Color {
  Red = 'red',
  Blue = 'blue',
  Green = 'green'
}

Чтобы импортировать этот enum и использовать его значения, вы можете сделать следующее:

import { Color } from './enums';

console.log(Color.Red); // 'red'
console.log(Color.Blue); // 'blue'
console.log(Color.Green); // 'green'

Здесь мы использовали ключевое слово export для именованного экспорта enum и ключевое слово import для его импорта.

Это основные способы импорта enum и использования его значений в TypeScript. Выбирайте тот, который лучше всего соответствует вашим потребностям и стилю программирования.