問題タブ [ecmascript-next]

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.

0 投票する
0 に答える
224 参照

javascript - Relayコンテナでのデコレータの使用

この要点のように、デコレーターを使用してリレーコンテナーの作成を簡素化しようとしています: https ://gist.github.com/miracle2k/f39aaaccbc0d287b2ddb

残念ながら、それは機能しておらず、エラーが発生していますInvariant Violation: RelayQueryNode: Abstract class cannot be instantiated.

私のコードには、特に興味深い点や奇妙な点はありません。次のようなもの:

なぜこれが起こっているのか誰にも分かりますか?これをしばらくデバッグしようとしましたが、うまくいきません。

デコレーター関数の外で、コンテナーをすべて単独で作成すると、問題なく動作します。

編集:これは、デコレータが機能していないこととは関係ありません。私はデコレータを他のものにうまく機能させています。それはリレーの質問です。

0 投票する
1 に答える
274 参照

javascript - クラス デコレータは、コンストラクタ関数と追加の引数の両方を受け取ることができますか?

Babel とデコレータで遊んでいます。例えば:

私の懸念は、クラスに対してデコレーターを使用し、いわゆるデコレーターに引数を与えることができ、コンストラクター関数を最初の引数として取得する機会を失わない方法があるかどうかです。

0 投票する
2 に答える
380 参照

javascript - ES6 非同期ジェネレーターの結果

ES6 には、イテレータを返すジェネレータがあります。

Promisesを返す非同期関数の提案があります。

この 2 つを組み合わせると、次のようになります。

それは何を返しますか?ですかPromise<Iterator<Item>>Iterator<Promise<Item>>? 他の何か?どのように消費するのですか?対応するループが必要だと思いforます。結果を非同期に反復するものは次のようになります。

次のアイテムにアクセスしようとする前に、各アイテムが利用可能になるのを待ちます。

0 投票する
2 に答える
527 参照

javascript - Visual Studio の EsLint - javascript ファイルで静的 props を使用できない

ノード モジュール:

  • エスリント 1.10.3
  • バベル-EsLint 4.1.6
  • Eslint-plugin-react 3.15.0

lint されるサンプル ファイル:

コマンド ラインでは、babel を使用してリントとトランスパイルを問題なく実行できます。問題は、ビジュアルスタジオから糸くずをしようとしています。内部で esLint を使用するWeb アナライザー プラグインを使用しています。

このビジュアル スタジオ モジュールは.eslintrc以下のファイルを定義しますC:\Users\My-Username。先に進み、このファイルと、この構成を使用して node_modules のメイン フォルダーを更新しました。

しかし、まだ「JSX パーサー: 予期しないトークン =" エラーが発生します:

コマンドライン ツールと同じように Web アナライザーを動作させるためのアイデアはありますか?

Visual Studio リンティング エラー

0 投票する
2 に答える
555 参照

javascript - ES7 でのクラス フィールド関数のスタブ化

私のテストスイートで、関数*であるクラスのプロパティをスタブするにはどうすればよいですか? 通常のメソッドを使用すると、見つかった各メソッドを簡単に使用Object.getOwnPropertyNames(component.prototype)してモンキーパッチを適用できますが、長い間苦労した後、クラスのフィールドに割り当てることによって作成された関数を抽出する方法が見つかりませんでした。

私のテスト スタックは、Jest と Jasmine2 および babel で構成されています。

トランスパイルの問題は、アロー関数プロパティが (もちろん予想どおり) トランスパイルされた出力「クラス」のインスタンス (実際にはもちろん関数) に割り当てられることです。したがって、このオブジェクトをインスタンス化する以外にそれらをスタブ化する方法はありません。入力 es7 コードと babel の出力の例を次に示します。ただし、私はこのソリューションが特に好きではありません。非常にハックなようです。このソリューションのもう 1 つの欠点は、コンポーネントのクラスを直接インスタンス化できないことです。


(*) この質問の背景は、es7 のようなクラスで記述された React コンポーネントの単体テストであり、自動バインドの目的でクラスのプロパティにアロー関数が割り当てられています。

0 投票する
1 に答える
831 参照

javascript - JavaScript でインスタンス メソッドを装飾する際の問題

ES6 でインスタンス メソッドを装飾する際に難しい問題があります。メソッドの装飾に問題はありませんが、クラスのインスタンスの単一の状態に固執しているようです。私が具体的に扱っているのは次のとおりです。

上記のコードが本来あるべきことを正確に行っていることは理解していますがfoo、スコープにアクセスして他のプロパティを追加したい場合、新しい関数プロパティを装飾decoratedMethodしてバインドするにはどうすればよいですか?