問題タブ [ecmascript-2016]

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 に答える
201 参照

javascript - ES2016 型付きオブジェクト - オブジェクトの形状を静的に制約するために使用できますか?

ES2016 用に提案された型付きオブジェクトは、引数の API を制約するために使用できますか?

例えば:

ECMA ドキュメント:

これは以前の質問の編集です。

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

javascript - promise を使用してカーソルを監視し、カーソルを停止する

これを行う良い方法を見つけることはできませんが、これが私の基本的な方法です。その目標は、正規表現に一致するメッセージが見つかるまでオブジェクトの状態を観察することです。

これを行う適切な方法は何ですか?promise が完了した後、リスナーまたはオブザーバーをどのように停止できますか?

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

javascript - React.js で ES7 クラスの静的プロパティをオーバーライド/拡張​​する

staticES7 では、プロパティとメソッド定義の概念が導入されています。ES7 対応のトランスパイラーとともに、これらを React で使用しpropsて、次のようにバリデーターとデフォルトを指定できます。

これは非常に便利ですが、サブクラスが登場すると扱いにくくなります。たとえば、次のモジュールがComponentOne上記と同じコードベースに追加されたとします。

ComponentTwoプロパティバリデーターとそのスーパークラスのデフォルトを「継承」したいと思いComponentOneます。代わりに、propTypesand defaultPropson は onComponentTwoのものをシャドウしComponentOne、React は on で定義されたものを捨てComponentOneます。

superは現在のクラスのプロトタイプへの参照であり、プロトタイプから直接ぶら下がった値を参照することになっているためstatic、これでうまくいくと思いました。

ただし、これはおそらく Babel: からのエラーを生成しますParsing error: 'super' outside of function or class

これは動作しますが、あまり移植性がありません:

これをよりきれいに/再利用可能にする他の方法はありますか?

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

redux - Redux を正しく使用していますか?

これは単なる質問です。私が正しいことをしているかどうかを再確認したいと思います。私はさまざまなフレームワークの時代から来ており、初期段階で悪い慣行を避けたいと思っています。

私はこのボイラープレートを使用しています: https://github.com/erikras/react-redux-universal-hot-example で、ES7 で書いています。

作成したもの: - 1 つのレデューサー: EarlyUser.js - 1 つのコンテナー: LandingPage.js - 1 つのコンポーネント: registrationForm.js

ランディングページには、次の方法でレデューサーのメソッドを含めています。

import { saveEmail, savePreferences, checkEmailExists } from 'redux/modules/earlyUser';

そして、いくつかのハンドルを宣言します

JSX 部分では、コンポーネントにハンドラーを渡すだけです。

コンポーネント内で、フォーム送信をこのハンドラーにリンクしました。

今私の質問は、返された約束の .then と .catch をどこに添付すればよいですか? 理想的には、component.js内で次のようなことをしたいと思います

あれは正しいですか?

また、ES7 でプロミスを処理するための正しい構文はありますか?

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

javascript - Koa.js アプリの受け入れテストで ES2016 (ES7) async/await を使用するにはどうすればよいですか?

私は最初の Koa.js アプリを書いている最中で、最近async/の ES2016 (別名 ES7) 機能を導入したのでawait、これらを利用したいと考えていました。

私の Google のスキルでは十分ではないことがわかりました。見つけたコードのスニペットは、標準の Koa (ジェネレーターを使用) のものか、ES7 ほどの最先端ではないものでした。

テストを実行する方法については、以下の回答を参照してください。

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

angular - ES2016デコレータを使用したAngular2 DI?

これは私がgithubで得た最も近いものです

私のサービスは

@Injectable() export class TodoService {}

しかし、ES2016 デコレータを使用してコンポーネントに挿入する方法がわかりません。それは可能ですか、それともデコレータはTypescript固有ですか? TSにはオプションがあることを知っていemitDecoratorMetadataます。

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

node.js - es7 async/await を使用して mongodb にドキュメントが存在するかどうかを確認します

提供されたユーザーがemailコレクションusersに存在するかどうかを確認しようとしていますが、私の関数は呼び出しごとに undefined を返し続けます。私はes6を使用しasync/await、多くのコールバックを取り除くために. これが私の関数です(クラス内にあります):

の戻り値は配列ではなく、次のような巨大なオブジェクトであるため、呼び出しconsole.log内の最初の.connect呼び出しは常に戻ります。false.find

そして、最後は常に未定義です (ただし、非同期呼び出しの終了を待機するためconsole.log、そうすべきではないと思いますが?)await


Promiseまたは何かではなく、ブール値を返す関数が必要です。

誰でもそれを手伝ってもらえますか?

更新 1

console.log(collection.findOne({email: email}));内部ではこれを.connect返します:


更新 2

es7 の知識が乏しいことが問題だったようですasync/await

これで、 内のコード.connectが必要な値を返します。

ただし、現在、呼び出しconsole.log後のまたは何も実行されていません。.connect

userExistsInDB()これで、どこかで関数を呼び出してconsole.logその結果を得るたびに、次のようになります。

なぜそうなのか、何か考えはありますか?

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

webpack - webpack config でステージ 0 を有効にして、柔軟なコンポーネントで decoratorPattern を有効にする方法

柔軟な connectToStores の例でデコレータ パターンを使用するための指示に従ってみました

http://fluxible.io/addons/connectToStores.html

ただし、@ 記号で構文エラーが発生します。柔軟なアプリでデコレータ パターンが認識されるようにするには、最初に何かを構成またはロードする必要がありますか?

次の webpack.config.js を試して、fluxible テンプレートでステージ 0 のサポートを有効にしましたが、複数のローダーがある場合、クエリを宣言できないというエラーが表示されます。

webpack.config.js