* 歴史

** ES4

@@

** ES6

[FIG(quote)[
[FIGCAPTION[
[1] [CITE@en[Chromium Blog: Chrome 42 Beta: Push Notifications, Promoting Add to Home Screen and ES6 Classes]]
([TIME[2015-03-14 09:17:20 +09:00]] 版)
<http://blog.chromium.org/2015/03/chrome-42-beta-push-notifications_12.html>
]FIGCAPTION]

> ES6 classes solve this by providing JavaScript a clean, standardized syntax for classes. This new syntax is available in Chrome 42 for JavaScript written in strict mode.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[2] [CITE@en[Safari 9.0]]
([TIME[2015-11-04 23:30:25 +09:00]] 版)
<https://developer.apple.com/library/safari/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html#//apple_ref/doc/uid/TP40014305-CH9-SW27>
]FIGCAPTION]

> The following ECMAScript 6 content is now supported by Safari:
> Classes

]FIG]

** JSIDL

;; [5] [[JSIDL]]、[CODE[Elements]] も参照。

[169] [CITE@en[Bug 23225 – Let's start using class, not interface]]
( ([TIME[2013-09-13 07:44:57 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23225>

[4] [CITE[class Elements extends Array]]
( ([TIME[2013-09-16 12:01:46 +09:00]] 版))
<https://gist.github.com/domenic/5864658>


[3] [CITE@en[Comment out query/queryAll/Elements for now · whatwg/dom@10b6cf1]]
([TIME[2016-03-30 11:16:27 +09:00]] 版)
<https://github.com/whatwg/dom/commit/10b6cf1ba02806220d5461a3bdb7939728b73635>

[6] [CITE@en[23225 – Let's start using class, not interface]]
([TIME[2017-12-08 15:51:21 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23225>

[7] [CITE@en[Consider syntactic changes to WebIDL to make it more "JavaScript-y" · Issue #485 · heycam/webidl]]
([TIME[2017-12-08 15:51:59 +09:00]])
<https://github.com/heycam/webidl/issues/485>