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`
- `exports`
- `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.

## 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