The following words may be used as keywords in future evolutions of the language, so using them as identifiers should be avoided to allow an easier
adoption of those potential future versions:
-
await
-
class
-
const
-
enum
-
export
-
extends
-
implements
-
import
-
interface
-
let
-
package
-
private
-
protected
-
public
-
static
-
super
-
yield
Use of these words as identifiers would produce an error in JavaScript strict
mode code.
This list includes also the keywords that have been adopted by the latest versions of ECMAScript. They are kept to support legacy JavaScript
codebases.
Noncompliant Code Example
var package = document.getElementsByName("foo"); // Noncompliant
var someData = { package: true }; // Compliant, as it is not used as an identifier here
Compliant Solution
var elements = document.getElementsByName("foo"); // Compliant