TIP: SyntaxKind enum
SyntaxKind
визначений як const enum
, ось приклад :
Це const enum
(концепція яку ми розглянули раніше). Вона використовується для того, щоб перелік вбудовувався безпосередньо у код, замість створення об'єкта переліку. Коли ми використовуємо const enum, значення переліку замінюється прямо в місці використання (наприклад, ts.SyntaxKind.EndOfFileToken
буде замінено на фактичне значення 1
в усіх місцях, де використовується цей перелік).
Один з основних переваг використання const enum полягає в тому, що ми уникаємо витрат на дереференцію (dereferencing cost), тобто на доступ до об'єкта переліку під час роботи з AST. Оскільки значення вбудовуються безпосередньо в код, нам не потрібно звертатися до об'єкта переліку, що полегшує та прискорює роботу з AST.
Однак, компілятор компілюється з прапорцем --preserveConstEnums
тому перелік все ще доступний під час виконання. Одже, в JavaScript ви можете використовувати ts.SyntaxKind.EndOfFileToken
, якщо бажаєте. Крім того, ви можете перетворити ці елементи переліку у рядки для відображення за допомогою наступної функції:
Last updated