問題タブ [ecmascript-harmony]
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.
node.js - module.exports をジェネレーター関数に設定する NPM モジュールを作成しても問題ありませんか?
シーケンス IO を持つモジュールを公開したい場合、これまでに書いても問題ありませんか?
それにより、次のようなことが許可されます。
javascript - ECMAScript 6 で矢印関数を使用する必要があるのはいつですか?
とES6() => {}
でfunction () {}
関数を記述する 2 つの非常によく似た方法が得られます。他の言語では、ラムダ関数は匿名であることで区別されることがよくありますが、ECMAScript では、どの関数も匿名にすることができます。2 つのタイプのそれぞれに固有の使用ドメインがあります (つまり、this
明示的にバインドする必要があるか、明示的にバインドしない必要がある場合)。これらのドメインの間には、どちらの表記法でも対応できる膨大な数のケースがあります。
ES6 のアロー関数には、少なくとも 2 つの制限があります。
- を使用しないでください
new
。作成時には使用できませんprototype
this
初期化時のスコープへのバインドを修正
これらの 2 つの制限は別として、アロー関数は理論的にはほとんどどこでも通常の関数を置き換えることができます。実際にそれらを使用する正しいアプローチは何ですか? アロー関数を使用する必要があります。例:
- 「どこでも機能する」、つまり、関数が
this
変数にとらわれない必要はなく、オブジェクトを作成していません。 - 特定のスコープにバインドする必要がある「必要な場所」、つまりイベントリスナー、タイムアウトのみ
- 「短い」関数を使用するが、「長い」関数を使用しない
- 別のアロー関数を含まない関数のみ
ECMAScript の将来のバージョンで適切な関数表記を選択するためのガイドラインを探しています。ガイドラインは、チーム内の開発者に教えられるように明確にする必要があります。また、ある関数表記から別の関数表記へと頻繁にリファクタリングする必要がないように、一貫性がある必要があります。
この質問は、今後の ECMAScript 6 (Harmony) のコンテキストでコード スタイルについて考えたことがある人、およびこの言語を既に使用したことがある人に向けられています。
javascript - ES6 ジェネレーターの機能を検出するにはどうすればよいですか?
私はES6ジェネレーターを本当に楽しんでいます。ブラウザーでジェネレーターのサポートを検出する方法はありますか? 現時点では、ジェネレーターが多くのブラウザーに含まれていない (またはブラウザーがまったくない可能性がある) 可能性があることはわかっていますが、それは私の目的には問題ありません。
私は試した:
しかし、うまくいかないようです。
ブラウザーで ES6 ジェネレーターのサポートを検出するにはどうすればよいですか?
javascript - 拡張されているものは、脱糖されたときと同じです、javascriptの調和
私がecmascript 5クラスを持っていると仮定します
しかし、それは新しい ecmascript クラス構文を使用して定義されました。車両がプロトタイプとしてextends
使用する「車」クラスを作成しvehicle.prototype
ますか、それとも車両の新しいインスタンスを使用しますか?