2016-06-01 6 views
-1

私はトランスバータを使用したくないとき。私はストレートJavascriptを書いてみたいですか?たとえば、もし私がletが利用可能であることを検出すると、ブロックレベルスコープを使用するコードを書き直すことはできません。es6統合のための良い戦略は何ですか?

たとえば、letをいつ使うべきですか?それは一般的な戦略を形成することも可能ですか?

+0

チェック[ブラウザの互換性](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let# Browser_compatibility)を使用して、いつ使用する必要があるかを決定します。ユーザーのためにどのブラウザーをターゲットにしたいかによって異なります。または、ポリリフィルを見つけることさえできます...ただgoogle ... –

+0

私はトランスパイラーやポリフィルを使用したくないので、今日は良い日であると主観的に判断したくありません。 –

答えて

1

の構文では、機能の検出が実際に機能しません。 evaltry...catchを使用して構文フィーチャをテストできますが、その情報を使用してコードを一方向に書くことはできません。また、同じコードを2回書くのではなく、異なる構文で書くのは意味がありません。

トランスバータを使用したくない場合は、ターゲットオーディエンスがそれをサポートするブラウザを使用するまで、ES6機能を使用しないでください。

一般的な戦略を構成することは可能ですか?

あなたの訪問者のうちY%がそれをサポートするブラウザを使用している場合は、機能Xを使用することになります。しかし、それはあなたのサイトがあなたの訪問者の(100-Y)%に対して適切に機能しない可能性があることを意味します。まさに問題のtranspilersが解決されてい

...

+0

"機能"に意味があるかもしれない - あるいはブラウザーが検出し、ネイティブのためにより速く動作するES6コードを動的にロードするかもしれない実装。しかし、そうであっても、トランスパイライラーは手書きで書くのではなく、ES5バージョンのコードを生成させることができます。 – Bergi

関連する問題