How I learned from a crazy idea / Detecting an ES6 class constructor

by Arnaud Buchholz

HTML

<script src="https://arnaudbuchholz.github.io/blog/jsfiddle-assert.js"></script>

JavaScript

function OldA () {
  this._a = "A";
}

OldA.prototype.a = function () {
  return this._a;
};

class Es6A {
  constructor () {
    this._a = "A";
  }

  a () {
    return this._a;
  }
}

function isES6Constructor (constructor) {
  return constructor.toString().startsWith("class");
}

assert(() => !isES6Constructor(OldA));
assert(() => isES6Constructor(Es6A));