JavaScript ключевое слово enum - PullRequest
0 голосов
/ 03 августа 2020

Я программист C ++ (не очень хорошо) и знаю, что такое enum. Когда я читал о лексической грамматике ( Source MDN ), я увидел новое ключевое слово enum. Пробовал на NodeJS. И это работает! (Ну да, но на самом деле нет ...).

enum someEnum {
    
}

И NodeJS выдает ошибку ...

SyntaxError: Unexpected reserved word
←[90m    at wrapSafe (internal/modules/cjs/loader.js:1060:16)←[39m
←[90m    at Module._compile (internal/modules/cjs/loader.js:1108:27)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:993:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:892:14)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)←[39m
←[90m    at internal/main/run_main_module.js:17:47←[39m

Но посмотрите! NodeJS считает это ключевым словом. Вопрос в том, есть ли правильный путь?

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Как сказано в источнике MDN, который вы связали, enum зарезервирован для использования в будущем, но функциональность еще не реализована. Вы можете использовать пакет enum или что-то вроде Typescript, реализующего перечисления.

1 голос
/ 03 августа 2020

Если вы заметили, его раздел - это Будущие зарезервированные ключевые слова , которые

У них нет специальных функций в настоящее время, но они могут в будущем time, поэтому их нельзя использовать в качестве идентификаторов.

В настоящее время enum поддерживается в расширенном наборе JS, Typescript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...