0

Hi im trying to initialize two maps as object in a class:

class Keyboard {

    keys;
    events;

    constructor() {
        keys = {};
        events = {};
    }

}

The variable keys works fine, but on events = {}; this happens:

Uncaught ReferenceError: events is not defined
at new Keyboard (Keyboard.js:8:16)
at app.js:20:14

I can't figure out why would keys works and events not, even if I change their order.

1
  • 1
    just use this before access the class properties. Commented Jul 18, 2022 at 14:13

1 Answer 1

1

Both shouldn't work, you need to add this, to refer to the object properties.

class Keyboard {

    keys;
    events;

    constructor() {
        this.keys = {};
        this.events = {};
    }

}

const keyboard = new Keyboard()

console.log(keyboard)

Sign up to request clarification or add additional context in comments.

3 Comments

but, why do keys works?
No, it shouldn't work, in my code example, if you removed this in both, you will see the same error happen to keys, check please.
There was already an another variable named keys on another js file. thanks

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.