class Foo extends Event {} console.log(new Foo('bar').constructor); Chrome & Firefox say Foo, Edge & Safari say Event. The Chrome/Firefox behaviour is preferable, as it allows you to create custom event objects, which is especially useful when developing custom elements.
Tests: http://w3c-test.org/dom/events/Event-subclasses-constructors.html
Mass move bugs into the DOM component.
(In reply to Jake Archibald from comment #1) > Tests: http://w3c-test.org/dom/events/Event-subclasses-constructors.html As of r256716, extending Event (as well as other DOM constructors) works as expected. Provided test file is 100% passing.