問題タブ [ecmascript-6]

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

javascript - Ecmascript 6は変更可能な__proto__プロパティをサポートしていますか?

現在のEcmascript6ドラフト(2012年11月)では、__proto__プロパティの公式サポートがあります(セクションB.3.1)。__proto__現在のブラウザの実装では、プロパティが非推奨になっているため、これは少し驚きました。

現在のドラフトが有効な場合、ES6は可変プロトタイプを完全にサポートしますか?Firefoxで現在できる方法で、既存のオブジェクトの新しいプロトタイプを提供できますか?

0 投票する
6 に答える
96563 参照

javascript - ES6+ で 2 つの JavaScript オブジェクトをマージするにはどうすればよいですか?

私はいつも次のようなコードを書かなければならないことにうんざりしています:

または、自分でコードを書きたくない場合は、既にそれを行っているライブラリを実装してください。Object.prototype.extend(obj2...)確かにES6 +はこれで救助に来ており、またはのようなものを提供しますObject.extend(obj1,obj2...)

ES6+ はそのような機能を提供しますか? まだ存在しない場合、そのような機能は計画されていますか? 計画されていない場合、それはなぜですか?

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

javascript - NodeJS の配列内包表記

Node.JS には EcmaScript 6 の機能がたくさんあるとどこかで聞いたことがあります。デフォルトでは、配列内包表記はないようです。

Node.JS には配列内包表記がありますか? もしそうなら、どうすればそれらを有効にできますか?

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

javascript - CMSにTypeScriptを使用する価値はありますか?

まず第一に、いくつかの背景:JavaScriptの使用法にほとんど依存しないCMSを作成するという考えがあります(より具体的にすることもできますが、これは質問には関係ありません)

聞きたかったのですが、CMSで使用されるすべてのJavaScriptスクリプトにTypeScriptを使用する価値はありますか?もちろん、純粋なJavaScriptで記述された外部のものではなく、TypeScriptを知らない他のユーザーが使用できる、または使用する可能性のあるすべてのカスタムのもの...これにより、TypeScriptの記述または少なくとも読み取りを学習する必要があります。 ..

TypeScriptは純粋なJavaScriptにコンパイルされ、その構文はEcmaScript 6によく似ていますが、コンパイルされたJSは常に読みやすいわけではありません...

0 投票する
10 に答える
112616 参照

javascript - JavaScript拡張クラス

私は基本クラスを持っています:

私が拡張して別のクラスを作成したいのは:

私はかなりの調査を行いましたが、JavaScriptでこれを行うための複雑な解決策がたくさんあるようです。JSでこれを達成するための最も簡単で信頼できる方法は何でしょうか?

0 投票する
4 に答える
27591 参照

javascript - `var {...} = ...`ステートメントの中括弧は何をしますか?

これがMozilla固有のJS構文であるかどうかはわかりませんが、たとえばアドオンSDKドキュメントで、変数がこのように宣言されていることがよくあります。

さまざまなchromeJavascript(letの代わりにステートメントが使用されていますvar)では、

非常に紛らわしいと思いましたが、MDNでも、両方の構文に関するドキュメントを見つけることができません。

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

javascript - ES5アレイ機能をサポートするために通常のオブジェクトを拡張する際の問題

私はずっと前から、ネイティブ配列と通常のオブジェクトの間の境界線を完全に曖昧にして、ES5で取得した配列と同じ機能でオブジェクトを拡張するだけでなく、両側のメソッドのカスタムパッケージとバンドルすることを望んでいました。

賢い人々のカップルは、これらのパラダイムの変化について考えました。アンガス・クロルが記事javascript-object-keys-finallyで言及したように:

「さらに、配列と通常のオブジェクトの間の境界線が曖昧になると(カスタムゲッターとセッターによって支援されます)、非数値識別子とアクセスの両方の長所を享受する一般的な「配列のような」オブジェクトの成長が見られる可能性があります。 Array.prototypeによって定義された豊富なAPIセット。EcmaScript5は、1つのタイプで定義されているが、どのタイプでも使用できるジェネリックメソッドを導入することで、この傾向を先取りしたようです。」

途中で、彼は記事にコード化されたものを取得します: extending-objects-with-javascript-getters

このアプローチは私にとって非常に興味深いものです。しかし、それはまた、いくつかの深刻な問題に苦しんでいるようです!

  1. 元のmyObjモデルをいくつかの新しいプロパティで拡張してみませんか?extendAsArrayプロパティに関する更新を行うために、すべてのプロパティ変更を実行する必要がlengthありますか?

  2. プロパティが変更された場合、length関連するのはプロパティだけではありません。配列のようなプロパティ要求は間違いなく未定義であることが判明するため、配列インデックスも更新する必要があります。そうするとき

    それから

    /li>

それに応じてAngusのコードを変更したので、lengthリクエストに応じてプロパティの自動更新をサポートします。

length問題は、プロパティが変更、追加、または削除されたときに、オブジェクトの配列インデックスをそのプロパティと一緒に更新するにはどうすればよいかということです。

使用する必要がありますObject.watchか?

そして、まだ解決されていない質問があります。一貫した方法でオブジェクトに対してもそれを作成した、私自身のシミングされていないユーティリティライブラリに干渉する方法は?

私は両方のタイプに同じコードベースを使用しています:z.Object({}).mapEvery同じことをしますz.Object([]).mapEvery

JQueryやアンダースコアについても言及しないでください。私は両方のタイプのメソッドの包括的なカスタムリストを持っており、おそらくシムなしの標準で完成した標準を使用するつもりであり、それをリファクタリングするつもりはありません!

0 投票する
7 に答える
34887 参照

javascript - ES6 MapとWeakMapの違いは何ですか?

これこのMDNページを見ると、MapsとWeakMapsの唯一の違いは、WeakMapsの「size」プロパティが欠落していることのようです。しかし、これは本当ですか?それらの違いは何ですか?

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

javascript - ECMAScriptv6が標準になるのはいつですか

これまでに質問されたことがある場合は申し訳ありませんが、ECMAScript v 6がドラフト以上になり、新しい標準になるのはいつになるのでしょうか。ECMA Webサイト(セクション262)にアクセスすると、2011年6月にリリースされたエディション5.1が最新であることがわかります。

注:(今後数か月以内にECMA262エディション5.1について講演する予定であり、古い資料について話しているのではないことを願っています:)

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

javascript - EcmaScript5のWeakMap実装?

クロスブラウザのWeakMapES5に実装するJavaScript ライブラリに出くわしました。(WeakMap はES6向けに予定されています。)

JavaScript 言語自体のサポートがなければ、これがどのように機能するのでしょうか?

編集:明確にするために、通常のマップではなく、弱いマップについて言及しています。Chrome のプロファイラーを使用してこのプロジェクトをテストしましたが、キーは強い参照によって保持されていません。それらは、WeakMap から削除することなく GC されます。