โ๏ธidentifier vs. keyword
JS โฉ identifier โฉ vs. keyword
there are 5 categories of identifier names:
not keywords (always allowed as identifiers)๏ผ
Math
,window
,toString
,_
...keywords๏ผ
never allowed as identifiers๏ผ reserved word (except
await
,yield
)contextually allowed as identifiers๏ผ namely
await
,yield
.contextually disallowed as identifiers, in strict mode code:๏ผ
let
,static
,implements
,interface
,package
,private
,protected
,public
.always allowed as identifiers, but also appear as keywords within certain syntactic productions, at places where identifier is not allowed:
as
,async
,from
,get
,meta
,of
,set
,target
.
The term conditional keyword, or contextual keyword, is sometimes used to refer to the keywords that fall in the last 3 categories, and thus can be used as identifiers in some contexts and as keywords in others. ๐ECMA
Last updated