# E0155: cannot reference private variables without object; use 'this.'

Classes can contain private properties. Their names start with `#`. It is a syntax error to use a private property without an object:

    class Account {
      #email;
      #passwordHash;

      changePassword(newPassword) {
        #passwordHash = hashPassword(newPassword);
      }

      async save(db) {
        await db.saveAccount({
          email: #email,
          passwordHash: #passwordHash,
        });
      }
    }

To fix this error, write `this.` before the use of the private property:

    class Account {
      #email;
      #passwordHash;

      changePassword(newPassword) {
        this.#passwordHash = hashPassword(newPassword);
      }

      async save(db) {
        await db.saveAccount({
          email: this.#email,
          passwordHash: this.#passwordHash,
        });
      }
    }

Introduced in quick-lint-js version 0.3.0.

Documentation for other errors