問題タブ [traceur]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ecmascript-6 - 「traceur-compiler」はどのように動作して ES-next を ES-present に変換しますか
既存の ES-6 から ES-5 へのトランスパイラーを探すためにググってみました。そこで私はtraceur-compilerを見つけました。ページに埋め込んで試してみたところ、うまく機能することがわかりました。
traceur-compiler
それから、ボンネットの下で実際にどのように機能するかを理解したいと思っていました。次に、ライブラリの内部実装を理解するのにかなりの時間を要していたライブラリのソース コードを理解しようとしました。
traceur-compiler
ES-6スクリプトのサンプル入力の一部に対して同等のES-5出力を表示するツールまたはメカニズムを入手すれば、動作を理解できると思います。作業を理解するのはずっと簡単でしょう。
たとえば、以下がサンプルの ES-6 コードであるとしましょう
上記のコードに相当する ES-5 を知りたいです。
traceur-compiler のデバッグ モードや、同じことを容易にする他のツールがあるかどうか、任意のアイデア。
javascript - React 0.13.x _classCallCheck() in DefaultRoute 'クラスを関数として呼び出すことはできません'
React 0.13.3 を Webpack 1.9.5 および traceur-loader 0.6.3 で使用しています (その前に babel-loader を試しました)。クラスを関数として呼び出している場所がわかりません。これは私のルートがどのように見えるかです:
以前にこの問題が発生した人はいますか?
javascript - 動的 ES6 モジュール スコープ
現在のすべてのモジュール ローダーはAMD,CommonJS,SystemJS
、外部オブジェクトを現在のモジュール スコープにロードするために変数定義を使用するのと同様です
お気に入り:
また:
外部モジュールから何をインポートする必要があるのか わからない場合、またはすべてをインポートする必要がある場合、実行時に変数を定義できないため、これが問題になります。
これが ES6 トランスレータが使用しない主な理由だと思います
構文であり、これらは ES6 仕様には含まれていません。
したがって、動的モジュールスコープとは、モジュール変数を実行時に定義/ロードできることを意味します。これにより、ES6 構文を次のように拡張できます。
私の見解では、これは、次のようなすべての名前をリストするよりも、インポートを定義するためのより最適な方法です。
今私の本当の質問:
with
これを達成するために使用しないのはなぜですか?
問題を解決できる ES6 から ES5 への簡単な変換例を次に示します。
ファイル: modules/module-1.js
に:
ファイル: modules/module-1.js
に:
with
トランスパイラー/ローダーでも避ける必要は本当にありますか?
私は別の ES6to5 トランスレータとモジュール ローダーを作成することを考えているので、この人たちについてのあなたの考えに感謝します。:)
javascript - Traceur.js と Traceur-runtime.js の比較
クローンを作成してビルドするtraceur
と、2 つのファイルがインストールされました:traceur.js
とtraceur-runtime.js
.
ここのtraceur
ドキュメント(具体的traceur.js
には)は、との違いを実際には説明しませんtraceur-runtime.js
。
traceur.js
には のコンテンツが含まれてtraceur-runtime.js
おり、traceur-runtime.js
は の一部であることはわかっていますtraceur.js
。
traceur.js
NodeJS で使用できると理解していますtraceur.js
+bootstrap.js(just for initiation)
ブラウザでの使用にtraceur-runtime.js
使用されます Angular2 で使用されます。
私の質問:
- 違いは何ですか?
- なぜ Angular2 だけが必要なの
traceur-runtime.js
ですか? - はどの機能を削除
traceur.js
しますか?traceur-runtime.js(28k lines less)
- 両方とも欠落している関数をシムしますか?
- それぞれ何に使うの?
typescript - traceur が traceur-runtime を必要とするのと同じように、Typescript が typescript-runtime を必要としないのはなぜですか?
Typescript と Traceur はどちらも ES6 を ES5 に正しくコンパイルします。第二に、typescript-runtime がないのはなぜですか?
PS: traceur-runtimeは「不足している」関数をシムし、それ以上のことを行い、一部の機能で使用されるヘルパー関数を提供することを読みましたが、それが実際に何を意味するのかわかりません
javascript - ECMAScript 6: WeakSet の目的は何ですか?
WeakSet は、弱参照によって要素を格納することになっています。つまり、オブジェクトが他から参照されていない場合は、WeakSet から削除する必要があります。
私は次のテストを書きました:
私の[1, 2, 3]
配列は何からも参照されていませんが、WeakSet から削除されていません。コンソールに次のように出力されます。
何故ですか?
さらに、もう 1 つ質問があります。次のように、オブジェクトを WeakSets に直接追加するポイントは何ですか。
それらのトレーサーの不具合ですか、それとも何か不足していますか?
最後に、WeakSet を繰り返し処理することも、現在のサイズを取得することもできない場合、WeakSet の実際の使用法は何ですか?
javascript - オンザフライで traceur コンパイラで await を使用するには?
トレース コンパイラを使用するようにブラウザーを構成するための支援が必要です。単純な非同期コードを機能させる方法をいくつか試しましたが、まだ成功していません。コードは次のとおりです。
traceur コンパイラ リンクは、動作するはずであることを示しています。
次のエラーが表示されます。
["file:///.../traceur_inline_script_1.js:8:8: セミコロンが必要です", "file:///.../traceur_inline_script_1.js:9:9: セミコロンが必要です"]
tracerRuntimeOptions は問題ないようです。
いくつかのバリエーションを試しましたが、まだ成功していません。誰かが動作するコードを書くのを手伝ってくれますか?
前もって感謝します。