質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

15641閲覧

ES6をIE11でも使えるようにしたい。。。

koh1990

総合スコア15

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

3クリップ

投稿2018/11/19 04:10

編集2018/11/19 04:17

WordPressを使ってサイトを構築していたのですが、下記記事を参考にスクロールアニメーションを導入しました。
https://liginc.co.jp/357845

しかし、IE11でのみ動作せずどういうことなのかとググっていたらどうやらES6で書かれたJavascriptはIE11では動作しないというところまでわかりました。

そこで、どうやったらES6をIE11でも使えるようにできるのかなと思い、皆様のお知恵を拝借したいと思っております。
下記JSのコードです。
これをIE11でも使えるようにしたいです。

class ScrollFade { constructor() { this.ANIMATION_CLASS = 'is-animation'; let $section = document.querySelectorAll('.scroll-fade:not(.is-animation)'); if($section.length === null) { return; } let controller = new ScrollMagic.Controller(); for(let i = 0; i < $section.length; i++) { let scene = new ScrollMagic.Scene({ triggerElement: $section[i], triggerHook: 'onEnter', reverse: false, offset: 300 }) .addTo(controller); scene.on('enter', ()=>{ $section[i].classList.add(this.ANIMATION_CLASS); }); scene.on('end', ()=>{ scene.destroy(true); }); } } } new ScrollFade();

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2018/11/19 04:15 編集

ECMAScript6の事ですか?その場合略称は(EcmaScriptから取って)ES6になります。
koh1990

2018/11/19 04:16

そうでした!ご指摘ありがとうございます!
guest

回答1

0

ベストアンサー

ECMAScriptのブラウザ対応表というものがあってですね。
まぁ見れば分かりますが、ES6はIE11ではほぼ全滅です。
letとconstのみはIE11でもいけるんですけどね。

さぁどうすればよいか?

ES5時代のJSってのもチューリング完全な訳で、その気になればES6と同じ事は出来るはずですよね。
ES5は構文が少ないので余計なおまじないが増えて煩わしいってだけの話で…
JSコンパイラが存在して、機械的に読み取って実行してくれるって事は、ES6をES5に変換するようなツールもあるのでは?
→あります。

Babel

これはES6準拠のコードを読み取ってES5相当にダウングレードしてくれるツールです。
普段のコードは最新のESで書いておいて、デプロイ直前でES5相当に変換するという使い方になります。

クラス構文やlet、constみたいなのを変換するのはBabel純正で可能ですが、
Array.prototype.findみたいにES6で追加されたメソッドなんかはポリフィルというので利用可能になります。

Qiita等のブログでサンプルコードや使い方はわかると思いますので、
まずは調べてあれこれ変換してみてください。

投稿2018/11/19 04:22

編集2018/11/19 04:34
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koh1990

2018/11/19 04:29

ありがとうございますー! ばっちり解決されましたー!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問