Your product could be here, in front of thousands of JavaScript developers. Sponsor this spot →
JavaScript Quiz

Can you call a static method on a class instance?

Do you know what will be the output of this code?

JavaScript
class Counter {
  static create() {
    return new Counter();
  }
}

const c = Counter.create();
console.log(typeof c.create);
Show answer and explanation

The answer is "undefined".

static puts the method on Counter, not on Counter.prototype. Instances can’t reach it. Call it as Counter.create().

Take the full quiz Next question →

More Classes & Prototypes questions

  1. Why does this become undefined when you extract a method?
  2. What happens when a constructor returns an object?
  3. Do objects see prototype changes made after they're created?
  4. Are JavaScript classes hoisted?
  5. What is the difference between in and hasOwnProperty?

Related topics