@sapphous Class syntax is itself part of the “prototype paradigm,” but as others have mentioned, you don’t actually have to use it:
```js
function NoClassSyntaxElement() {
return Reflect.construct(HTMLElement, [], new.target);
// or Reflect.construct(HTMLElement, [], NoClassSyntaxElement), I suppose, if you don’t care about subclassing
}
NoClassSyntaxElement.__proto__ = HTMLElement;
NoClassSyntaxElement.prototype.__proto__ = HTMLElement.prototype;
customElements.define('no-class-syntax', NoClassSyntaxElement);
console.log(new NoClassSyntaxElement().matches(':defined')); // true
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/WICG/webcomponents/issues/587#issuecomment-737139676