問題タブ [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.
polymer - Polymer 2.x: ES6 クラスベースの構文、要素定義
こちらのプレビュー ドキュメントには、次のコードが含まれています。
私の質問は:MyElement
最初の行のビットは 2 行目のビットと一致する必要がありmy-element
ますか? 最初のビットは 2 番目のビットによって何らかの形で制約されますか? それともその逆?
javascript - webpack によって関数にバンドルされた後に es6 クラスをインスタンス化する方法
私はes6クラスのチュートリアルに従っていて、素敵な小さなd3ビジュアライゼーションを作成しました. それから私は2番目を作り、それらをライブラリにバンドルすることについて何かをしなければならないと思ったので、最初にモジュールを試して(ブラウザがまだそれらをサポートしていないことを発見しました)、次にwebpack 1.13をインストールして使用しrequire()
ました(import
動作しませんでした; 2.0 までサポートされていません)。
ただ、export default class Foo(data, args)
私の bundle.jsの代わりにvar Foo = function () { function Foo(data, args) ...
.
インタープリターは、私がしようとすると不平を言うだけFoo.Foo(data, args)
ですが、ここでの私の直感は、このようにfrankenclassをふりをしてインスタンス化することは、おそらくwebpackが意図するものではないということです? はい、すべてのモジュール ファイルを独自の bundle.js に連結してから に移動することもできますがnew Foo()
、適切なバンドル ツールを使用しようとしています。
ES6で「可能な」ことと、実際にwebpackでそれを実現する方法との間には、オンラインドキュメントにかなりのギャップがあるように感じます。
index.jsスクリプトのバンドルからクラスをインスタンス化できるように、モジュールをwebpackにバンドルする段階的な方法は何ですか?
付録:(これまでに行ったこと)
javascript - ES6 クラス オブジェクトを JSON としてシリアライズする
myClass
オブジェクトをjson にシリアライズしたいと思います。
私が考えることができる 1 つの簡単な方法は、すべてのメンバーが実際には JavaScript オブジェクト (配列など) であるため、メンバー変数を保持する変数を維持できると思います。
this.prop.foo = this.foo
等々。
toJSON/fromJSON
swift/java などの他の言語でクラス オブジェクトを使用していたので、クラス オブジェクト のライブラリが見つかると期待していましたが、javascript のライブラリが見つかりませんでした。
クラス構成が新しすぎるか、私が求めていることは、ライブラリがなくても簡単に実現できる可能性があります。
node.js - シングルトン継承のバギー動作
シングルトン パターンを使用して、javascript es6 の継承でバグのある動作を発見しました。
コードは次のとおりです。
表示は:
継承はどういうわけかめちゃくちゃになります。ここでは、属性はオーバーライドされますが、オブジェクト メソッドはオーバーライドされません。
私の質問は、なぜそれが機能しているのか(今のようにスローするように)、この動作を説明できますか?
新しいオブジェクトには、親として真新しいオブジェクトが必要なようです (以下の解決策を参照)。
同じ問題が発生した場合、ここに私の解決策があります:
私はnode.js v6.9.1を使用しています
javascript - JavaScript / ES7 クラスで静的メソッドを動的に呼び出す
文字列変数に className があります。動的クラスで addField 静的メソッドを呼び出したい。
CustomClient は ES7 クラスの名前です。addField は静的メソッドです。addField を動的に呼び出したい。クラスは、CustomClient、CustomContract、または CustomUser のいずれかです。
javascript - Reactで「通常の」ES5プロトタイプ継承を実装するには?
私は、ES6 クラスは基本的に ES5 オブジェクト システムの構文糖衣であるという印象を受けています。トランスパイラーなしで React を実行しようとしているので、React.Component から「継承」するオブジェクト「クラス」を定義するために古い構文を使用するだけでよいと考えました。
しかし、それはうまくいきません!
この gistで代替案を見つけました、および次の作品:
React.createClass
また、ヘルパーを使用できることもわかりました。
しかし、React がそのような一般的な方法で定義されたクラスを処理しない理由を理解したいと思います。ES6 クラスは使用前にインスタンス化されるようです。同様の結果で、ES5 スタイルのクラスもインスタンス化されない理由はわかりません。
angularjs - AngularJs 1.5 ES6:コントローラーで未定義のバインディング
コンポーネントに渡されたバインディングは html では機能しますが、コントローラーでは未定義です。
hero.component.js
HeroController.js
hero.html
角度バージョンを使用しています1.5.0
node.js - グローバル クラスを初期化し、ノード アプリケーション全体で使用できるようにする
そのため、現在のプロジェクトに APN (Apple Push Notification) 接続を初期化する場所がありますが、接続の複数のインスタンスは必要ないため、初期化する必要があります。現在、接続を作成し、必要なリスナーを接続に配置してエラーなどを監視するクラスがあります。次のようになります。
現在、これを使用する必要がある場所が複数ある可能性がありますが、前述したように、アプリケーション全体に対して APN 接続の接続されたインスタンスを 1 つだけ持つことをお勧めします。
では、アプリケーションのメイン ファイルでこれを初期化して名前付きエクスポートにするのが最善でしょうか、それとも別の方法で開始する必要がありますか? メインアプリケーションファイル全体をインポートすることは、回避できる場合は良い考えではないと思いますが、そうしても問題はないのでしょうか?
また、これが主観的すぎる場合は申し訳ありませんが、これはまだここで尋ねられたり、Google検索で回答されたりしていないと思います.1つ以上の良い解決策があるようです.