Learning JavaScript (2016)
Appendix A. Reserved Words
The following words can’t be used as an identifier (the name of a variable, constant, property, or function) in JavaScript:
§ await (reserved for future use)
§ break
§ case
§ class
§ catch
§ const
§ continue
§ debugger
§ default
§ delete
§ do
§ else
§ enum (reserved for future use)
§ export
§ extends
§ false (literal value)
§ finally
§ for
§ function
§ if
§ implements (reserved for future use)
§ import
§ in
§ instanceof
§ interface (reserved for future use)
§ let
§ new
§ null (literal value)
§ package (reserved for future use)
§ private (reserved for future use)
§ protectd (reserved for future use)
§ public (reserved for future use)
§ return
§ super
§ static (reserved for future use)
§ switch
§ this
§ throw
§ true (literal value)
§ try
§ typeof
§ var
§ void
§ while
§ with
§ yield
The following words were reserved in ECMAScript specifications 1–3. They are no longer reserved words, but I discourage their use, as JavaScript implementations may (incorrectly) consider them reserved words:
§ abstract
§ boolean
§ byte
§ char
§ double
§ final
§ float
§ goto
§ int
§ long
§ native
§ short
§ synchronized
§ transient
§ volatile