問題タブ [ecmascript-6]
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.
javascript - ECMA ハーモニー – ジェネレーターへのコールバック
まず第一に、私たちはここで未踏の領域にいるので、最新の Firefox で動作しますが、MDN のドキュメントは執筆時点では準備ができていません. MDN は後で修正します (修正が必要な場所がたくさんあるかもしれません) ので、用語集を提供します。
コールバックから Iterator を作成したい:
引数として 2 つのコールバックを使用して構築されたクラスがあります。インスタンスを「リスナー」と呼びましょう。次に、このリスナーは、リッスンが終了するまで、引数を指定して最初のコールバックを繰り返し呼び出し、次に 2 番目のコールバックを 1 回呼び出します。
これは、リスナーが最初のコールバックを呼び出した各引数を生成し、2 番目のコールバックが呼び出されるとすぐに StopIteration をスローします。
このような:
これはすべて Addon SDK アドオンで行っているため、Promise や関連するものを使用できます。そして、ブラウザが私がやろうとしていることを何も知らない方法についての講義は必要ありません;)
/編集: なぜすべてをコールバック ベースのコードに変換しないのかと聞かれたら、味を見て、血まみれの涙を流さずにそれをコールバック ベースのコードに変換する方法を教えてください。メイン関数をhere で言及されているものにラップします。
javascript - ジェネレーターは本当に邪魔ですか
Javascript ジェネレーターの現在の仕様を理解しているので、yield
s を含む関数を明示的にマークする必要があります。
この背後にある合理性は何なのだろうか。
これが本当なら、人々は次のように書くことを強いられるでしょう:
つまり、ジェネレーターはコードベースでガンのように拡散します。結局のところ、イテレータを生成して処理するだけの開発者にとっては、非常に興味深いことです。
繰り返しを処理したい場所を定義するだけで、はるかに実用的だと思います。
ブラウザがyield
呼び出しとジェネレータ ハンドラ ( firstfunc
、secondfunc
、thirdfunc
) の間のすべてをpromise / futureフォームに変換する必要がある場合、それは自動的に機能し、Javascript 開発者の仕事ではありません。
または、これを行わないことについて本当に良い議論がありますか?
javascript - Node.JS の ECMAScript 6 モジュール
Node.JS v0.11.3 は、フラグ付きの ECMAScript 6 モジュールをサポートしていると主張しています--harmony_modules
。
次のようなさまざまな例を試しました。
モジュールを Node.JS で動作させるための構文は何ですか?
javascript - for ループは暗黙的にブロックを作成しますか?
私はlet
Node.JSで遊んでいます(フラグ--harmony
とが必要--use-strict
です)。私が理解しているように、このlet
ステートメントではブロックスコープの宣言が許可されています。次の点を考慮してください。
関与するブロックスコープの数は? どのブロックスコープにi
住んでいますか? この例が機能するには、次のように3 つのブロック スコープが関係し、1 つのスコープがfor
ループによって暗黙的に作成されると考えるのは正しいでしょうか?