私の手元にあるWindows 10のInternet Explorer 11ではclass構文を正しく認識できませんでした。確認は下記のコードをHTMLファイルとしてローカルに保存して、HTMLファイルをブラウザで開きました。
HTML
1<!DOCTYPE html>
2<html>
3 <head>
4 <meta charset="utf-8">
5 <title>JavaScript Class Test</title>
6 </head>
7 <body>
8 <p id="main"></p>
9 <script>
10 window.classAvailable = false;
11 class Test {
12 run() {
13 document.getElementById('main').textContent = 'class OK';
14 window.classAvailable = true;
15 }
16 }
17 (new Test).run();
18 </script>
19 <script>
20 if (!window.classAvailable) {
21 document.getElementById('main').textContent = 'class NG';
22 }
23 </script>
24 <noscript>
25 <p>
26 JavaScript is disabled.
27 </p>
28 </noscript>
29 </body>
30</html>
なお、ローカルドライブ上のHTMLをInternet Explorer 11で開いた場合、JavaScriptが無効になっている場合があります。"JavaScript is disabled."と表示された場合は、下部に出てくる「ブロックされているコンテンツを許可」を押して、JavaScriptを有効にしてください。
ブラウザがclass構文を正しく認識できる場合は、一つ目のスクリプトで「class OK」が表示され、二つ目のスクリプトではwindow.classAvailable
が真になるため、何も処理されません。class構文が正しく処理できない場合は、一つ目のスクリプトの処理は失敗し、window.classAvailable
が真にならないため、「class NG」が表示されます。
私のWindows 10 1809のInternet Explorer 11でJavaScriptが有効の場合、「class NG」が表示されます。ですので、この環境ではclass構文は使用できません。「仮想環境のIE11」というものがどんなものかはわかりませんし、どのような方法でエラーが無い事を確認したのかはわかりませんが、少なくとも、class構文が正しく扱えないInternet Explorer 11は存在します。
エラーにならないという「仮想環境のIE11」にのみ対応するのであれば、class構文を使うかどうかは自由だと思います。
なお、私は、時代の先行くTypeScriptか、時代遅れなCoffeeScriptか、Ruby好きだけが使うOpalか、これらのいずれで書いているので、JavaScriptそのものはteratailの回答やQiitaで記事を書くときぐらいにしか使っていません。ですので、「JavaScriptのclass構文を使っていますか?」という問いには「そもそもJavaScriptを使っていない」と答えるしかないです。