問題タブ [es6-class]

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 投票する
1 に答える
1183 参照

es6-class - クラスメソッド内でイベントリスナーを使用して、未定義を返す別のクラスメソッドを呼び出す

JavaScriptクラスの使い方を学んでいます。イベントリスナーがクラス内のメソッドを呼び出す方法を理解するのに苦労しています。具体的には、クリック時にthis.infoBoxActiveを呼び出すたびに、メソッド内のすべての変数が未定義を返します。

私が最終的にやりたいことは、onclick が true と false の間で切り替わり、その状態に基づいて infoBoxActive または infoBoxDective を呼び出すトグル メソッドを用意することです。私は一日中コードをいじってさまざまなことを試してきましたが、変数が未定義になるという同じ問題を引き起こしているようです。メソッドを直接呼び出すと、すべてがうまく機能します。

プロミスを使用してローカル JSON ファイルからデータを収集してきましたが、リゾルブでオブジェクトを返す方法がわからなかったため、現在、すべての新しいクラスをプロミスから呼び出しています。これが問題の一部になるかどうかはわかりません。

類似の投稿をいくつか読んでみましたが、解決策を理解できなかったか、正確な問題とは関係がなかったため、これが重複している場合はお詫び申し上げます。

私の約束

私の決意

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

node.js - ユーザーES6 Nodejs Express Passportjsのクラスインスタンスを保存

私は Express を使用したPassportjsに比較的慣れておらず、アプリケーションのアーキテクチャのベスト プラクティスについて質問があります。

まず、ユーザーが次のことを実行できるようにします。

  • ローカル ログイン/登録 (ユーザー名、パスワード)
  • Google OAuth

次に、ユーザーが呼び出しを行うたびにES6 クラスのインスタンスを再利用したいと考えています。

例:

クラス

コントローラ

ご覧のとおり、コントローラーからの呼び出しは現在、コントローラー関数のスコープ内でのみ使用される ImapConnector クラスのインスタンスを作成しています。明らかに、メモリの非常に無駄なアプローチです。

今、私の考えは、インスタンスがimap認証の資格情報などのユーザーオプションにバインドされているため、インスタンスを高速ユーザーセッションで作成して保存することです。そうすれば、インスタンスは期限切れのセッションと一緒になります。

ただし、それが最善かつ唯一の方法であるかどうかはわかりません。

したがって、私の質問は次のとおりです。これらの種類のユーザー関連のインスタンスを利用するための最も合理的なアプローチは何ですか?

これらのインスタンスを mongodb (ユーザー スキーマ) に永続化してから、手動で削除することも考えられます。必要に応じて、状態をクライアント側で処理することをお勧めします (例: JWT )。

前もって感謝します!

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

javascript - Typescript クラスは実装の代わりに型として Interface を使用します

インターフェイスを使用/実装する C# の方法を模倣する方法を探しています。要するに、次のコードを複製しようとしています。

実装の使用は正常に機能しますが、Ebook を型として使用するクラス EBookReader の方法を模倣することはできません。

コードのモックアップを含む codepen: http://codepen.io/Ornhoj/pen/gLMELX?editors=0012

0 投票する
3 に答える
209 参照

javascript - 関数がクラス コンストラクターであることを認識する方法と、それを関数として呼び出す方法は?

私は es2016 の機能と少し混乱していますが、 と と比較してclass、クラスを作成するための単なる構文糖衣であると想定されていますが、場合によっては動作が異なります。特に、クラスを呼び出すことはできません関数と同じで、 と を使用せずに、関数がクラス コンストラクターであるか単純な関数であるかを調べる方法はないようです。functionprototypetoString/^class/ RegExp

次の例を想定します。

ですtypeof 'function'が、関数として呼び出すことはできません! 良い。

そして、ここに私の2つの質問があります:

  1. オーバーライドされたコンテキストとFoo同じようにコンストラクター関数を呼び出す方法はありますか?Barthis
  2. anyArg関数で別の方法で処理できるように、クラスのコンストラクターであることを検出できる方法はありますかdoSmth。なし(この場合toStringパフォーマンスのペナルティが非常に大きくなるため)。次に、新しいインスタンスを初期化し、インスタンスからの値で変数を拡張するために使用できます。RegExpReflect.constructObject.assignobj

ありがとう、アレックス

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

angularjs - パラメータ付きのangular1 es6サービス

私の目標は、カスタムパラメーターを使用してサービスを取得することです

何についてですか?

より良い方法はありますか?

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

javascript - es6は静的関数からクラスコンストラクターへのアクセスを取得します

新しいインスタンスを生成する静的関数を作成しようとしています。インスタンスは、静的関数が属するクラスのものです。

これが例です

これまでのところ、うまくlet a = A.getInstance();いくでしょう。

この機能を子クラスに継承したいと考えています。

B.getInstance()B のインスタンスを返したい。