問題タブ [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.
javascript - ES2016 型付きオブジェクト - オブジェクトの形状を静的に制約するために使用できますか?
ES2016 用に提案された型付きオブジェクトは、引数の API を制約するために使用できますか?
例えば:
ECMA ドキュメント:
- http://wiki.ecmascript.org/doku.php?id=harmony:typed_objects
- https://github.com/dslomov/typed-objects-es7
これは以前の質問の編集です。
javascript - promise を使用してカーソルを監視し、カーソルを停止する
これを行う良い方法を見つけることはできませんが、これが私の基本的な方法です。その目標は、正規表現に一致するメッセージが見つかるまでオブジェクトの状態を観察することです。
これを行う適切な方法は何ですか?promise が完了した後、リスナーまたはオブザーバーをどのように停止できますか?
javascript - React.js で ES7 クラスの静的プロパティをオーバーライド/拡張する
static
ES7 では、プロパティとメソッド定義の概念が導入されています。ES7 対応のトランスパイラーとともに、これらを React で使用しprops
て、次のようにバリデーターとデフォルトを指定できます。
これは非常に便利ですが、サブクラスが登場すると扱いにくくなります。たとえば、次のモジュールがComponentOne
上記と同じコードベースに追加されたとします。
ComponentTwo
プロパティバリデーターとそのスーパークラスのデフォルトを「継承」したいと思いComponentOne
ます。代わりに、propTypes
and defaultProps
on は onComponentTwo
のものをシャドウしComponentOne
、React は on で定義されたものを捨てComponentOne
ます。
super
は現在のクラスのプロトタイプへの参照であり、プロトタイプから直接ぶら下がった値を参照することになっているためstatic
、これでうまくいくと思いました。
ただし、これはおそらく Babel: からのエラーを生成しますParsing error: 'super' outside of function or class
。
これは動作しますが、あまり移植性がありません:
これをよりきれいに/再利用可能にする他の方法はありますか?
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 でプロミスを処理するための正しい構文はありますか?
javascript - Koa.js アプリの受け入れテストで ES2016 (ES7) async/await を使用するにはどうすればよいですか?
私は最初の Koa.js アプリを書いている最中で、最近async
/の ES2016 (別名 ES7) 機能を導入したのでawait
、これらを利用したいと考えていました。
私の Google のスキルでは十分ではないことがわかりました。見つけたコードのスニペットは、標準の Koa (ジェネレーターを使用) のものか、ES7 ほどの最先端ではないものでした。
テストを実行する方法については、以下の回答を参照してください。
angular - ES2016デコレータを使用したAngular2 DI?
これは私がgithubで得た最も近いものです
私のサービスは
@Injectable()
export class TodoService {}
しかし、ES2016 デコレータを使用してコンポーネントに挿入する方法がわかりません。それは可能ですか、それともデコレータはTypescript固有ですか? TSにはオプションがあることを知っていemitDecoratorMetadata
ます。
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
その結果を得るたびに、次のようになります。
なぜそうなのか、何か考えはありますか?
webpack - webpack config でステージ 0 を有効にして、柔軟なコンポーネントで decoratorPattern を有効にする方法
柔軟な connectToStores の例でデコレータ パターンを使用するための指示に従ってみました
http://fluxible.io/addons/connectToStores.html
ただし、@ 記号で構文エラーが発生します。柔軟なアプリでデコレータ パターンが認識されるようにするには、最初に何かを構成またはロードする必要がありますか?
次の webpack.config.js を試して、fluxible テンプレートでステージ 0 のサポートを有効にしましたが、複数のローダーがある場合、クエリを宣言できないというエラーが表示されます。
webpack.config.js