Ръководство как да работите с него

TypeScript е надмножество на JavaScript, което ви помага да пишете безопасен код.

С TypeScript ще можете да хващате грешки по-рано и да ги коригирате. Една от важните функции на TypeScript е Enums. Enum е популярна конструкция в TypeScript, която ви помага да пишете по-безопасен код.

В тази статия ще обясня Enums, как да ги създавате и използвате и много други неща, които трябва да имате предвид.

Какво е Enum?

Enum е съкращение от enumerated type. Изброеният тип данни се дефинира от различните стойности, които може да приеме променлива от този тип. Различните стойности, които може да приема, често се наричат ​​членове или елементи.

В тази статия ще ги наричаме членове. Енумите не са просто функция на TypeScript. По-скоро изброените типове също присъстват и се използват в други езици за програмиране. Използването на enum позволява по-добра безопасност на типа в програмите на TypeScript.

Прочетете също: Топ TypeScript библиотеки и среда за изпълнение, които трябва да знаете като програмист

Защо да използвате Enum?

Енумите ви помагат да определите какви стойности може да съдържа променлива. Те също така ви помагат да посочите какви стойности може да приема аргумент на функция. Това помага да се гарантира, че разработчиците винаги предоставят очаквани стойности на променливите и аргументите на функцията. Това ще помогне за премахване на грешки и ще ви помогне да пишете по-безопасен и по-стабилен код.

  Как да редактирате горен и долен колонтитул в PowerPoint

Предпоставки за работа с енуми

В този урок ще демонстрирам как се работи с enums в TypeScript. За да следвате този урок, трябва да можете да стартирате и изпълнявате TypeScript код.

Следователно трябва да имате инсталиран NodeJs, за да изпълните вашия JavaScript код. Ако нямате инсталиран TypeScript, видеоклипът по-долу е ръководство как да го направите.

Като алтернатива, ако искате да компилирате и изпълните скрипт веднага, използвайте ts-node. Въпреки че това е, което ще правя в тази статия, за по-големи проекти бих препоръчал инсталирането на TypeScript. За да изпълните скрипт с помощта на ts-node, използвайте следната команда:

npx ts-node <scriptname>

Тази статия също предполага, че сте запознати с JavaScript и основния TypeScript.

Работа с просто преброяване

Как да създадете прост списък

Енумите в TypeScript се създават с помощта на ключовата дума enum. Следва името на enum и след това списък с членове, които enum съдържа. Ето пример, в който декларираме enum за четирите основни точки на компаса.

enum Direction {
    North,
    East,
    South,
    West
}

Имайте предвид, че няма кавички около членовете в enum – те не са низове.

Как да използвате прост enum

Присвоявате изброена стойност на променлива, както следва:

const heading: Direction = Direction.North;

Тъй като присвояваме променливата при декларация, TypeScript може да изведе типа на данните. В резултат на това не е необходимо да утвърждаваме типа. Вместо това можем да напишем това:

const heading = Direction.North;

За да открием каква стойност има заглавната променлива, можем да я регистрираме console.log.

console.log(heading);

Резултатът от това ще бъде:

0

Променливата за заглавие съдържа стойност нула, въпреки че й присвоихме стойността на Direction.North. Това е така, защото на всеки член се присвоява числова стойност, когато се създават изброения. На първия член се присвоява 0, на втория 1 и т.н. Ето една демонстрация:

console.log(Direction.North, Direction.East, Direction.South, Direction.West)

Следователно можете да проверите дали променливата за заглавие съдържа North, като потвърдите, че тя е равна на нула. Например:

// Asserting equality
let isNorth = heading == 0;

// Printing the result
console.log(isNorth);

Както беше показано по-рано, Direction.North е равно на 0. Така че, вместо да проверяваме дали курсът е равен на нула, можем да проверим дали е равен на Direction.North.

// Checking if direction is North
isNorth = heading == Direction.North;

// Printing the result
console.log(isNorth);

Всичко това е полезно; шансовете са, че така ще използвате изброените стойности. Можете обаче да направите повече, както ще видите по-късно. Този следващ раздел ще обсъди как можете да работите с персонализирани стойности.

  6 най-добри безплатни сървъра на Syslog, с които да експериментирате през 2020 г

Работа с персонализирани стойности

Когато създавате enum, TypeScript автоматично присвоява числови стойности на членовете, започвайки от нула. Въпреки това, може да искате вашите членове да имат персонализирани стойности вместо тези по подразбиране, в който случай можете да ги присвоите. Така:

enum StarRating {
    VeryPoor = 1,
    Poor = 2,
    Average = 3,
    Good = 4,
    Excellent = 5
}

Като алтернатива можете да направите следното:

enum StarRating {
    VeryPoor = 1,
    Poor,
    Average,
    Good,
    Excellent
}

В този случай на първия член ще бъде присвоена стойност 1. Следващите избори ще бъдат автоматично увеличени от предишния избор. Така че Лош ще има рейтинг 2, среден 3 и т.н.

  8 най-добри PC Benchmark софтуер през 2022 г

Изборите в enum не винаги имат числени стойности, както ще видите по-късно. Тези с числени стойности обаче ще се държат като нормални числа.

console.log(typeof StarRating.Average);

Това ще отпечата „номер“. Това означава, че можете да правите всички неща с числата, включително да правите сравнения като:

console.log(StarRating.Excellent > StarRating.Average)

Това ще отпечата „истина“.

Използване на низове като персонализирани стойности

Както споменахме по-рано, изборите на enum могат да имат низови стойности вместо само числа. Ето как бихте направили това:

enum Choice {
    RedPill = "Know Everything"
    BluePill = "Know Nothing"
}

В този случай изборите на enum ще се държат като предишните. Въпреки това, тъй като стойностите са низове, можете да извършвате операции с низове, а не операции с числа, както в предишния пример.

Хетерогенни енуми

Можете също да смесвате низови и числови стойности. Това не се препоръчва и не е много полезно, но въпреки това е възможно.

enum Mixed {
    First = "String"
    Second = 2
}

Заключителни думи

В тази статия разгледахме какво представляват enum в TypeScript. Обсъдихме и защо са важни. Ние също така разгледахме различните видове стойности, които членовете на enum могат да имат.

След това вижте нашата статия за Тип срещу интерфейс в TypeScript.