問題タブ [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.
javascript - Ecmascript 6は変更可能な__proto__プロパティをサポートしていますか?
現在のEcmascript6ドラフト(2012年11月)では、__proto__
プロパティの公式サポートがあります(セクションB.3.1)。__proto__
現在のブラウザの実装では、プロパティが非推奨になっているため、これは少し驚きました。
現在のドラフトが有効な場合、ES6は可変プロトタイプを完全にサポートしますか?Firefoxで現在できる方法で、既存のオブジェクトの新しいプロトタイプを提供できますか?
javascript - ES6+ で 2 つの JavaScript オブジェクトをマージするにはどうすればよいですか?
私はいつも次のようなコードを書かなければならないことにうんざりしています:
または、自分でコードを書きたくない場合は、既にそれを行っているライブラリを実装してください。Object.prototype.extend(obj2...)
確かにES6 +はこれで救助に来ており、またはのようなものを提供しますObject.extend(obj1,obj2...)
ES6+ はそのような機能を提供しますか? まだ存在しない場合、そのような機能は計画されていますか? 計画されていない場合、それはなぜですか?
javascript - NodeJS の配列内包表記
Node.JS には EcmaScript 6 の機能がたくさんあるとどこかで聞いたことがあります。デフォルトでは、配列内包表記はないようです。
Node.JS には配列内包表記がありますか? もしそうなら、どうすればそれらを有効にできますか?
javascript - CMSにTypeScriptを使用する価値はありますか?
まず第一に、いくつかの背景:JavaScriptの使用法にほとんど依存しないCMSを作成するという考えがあります(より具体的にすることもできますが、これは質問には関係ありません)
聞きたかったのですが、CMSで使用されるすべてのJavaScriptスクリプトにTypeScriptを使用する価値はありますか?もちろん、純粋なJavaScriptで記述された外部のものではなく、TypeScriptを知らない他のユーザーが使用できる、または使用する可能性のあるすべてのカスタムのもの...これにより、TypeScriptの記述または少なくとも読み取りを学習する必要があります。 ..
TypeScriptは純粋なJavaScriptにコンパイルされ、その構文はEcmaScript 6によく似ていますが、コンパイルされたJSは常に読みやすいわけではありません...
javascript - JavaScript拡張クラス
私は基本クラスを持っています:
私が拡張して別のクラスを作成したいのは:
私はかなりの調査を行いましたが、JavaScriptでこれを行うための複雑な解決策がたくさんあるようです。JSでこれを達成するための最も簡単で信頼できる方法は何でしょうか?
javascript - `var {...} = ...`ステートメントの中括弧は何をしますか?
これがMozilla固有のJS構文であるかどうかはわかりませんが、たとえばアドオンSDKドキュメントで、変数がこのように宣言されていることがよくあります。
さまざまなchromeJavascript(let
の代わりにステートメントが使用されていますvar
)では、
非常に紛らわしいと思いましたが、MDNでも、両方の構文に関するドキュメントを見つけることができません。
javascript - ES5アレイ機能をサポートするために通常のオブジェクトを拡張する際の問題
私はずっと前から、ネイティブ配列と通常のオブジェクトの間の境界線を完全に曖昧にして、ES5で取得した配列と同じ機能でオブジェクトを拡張するだけでなく、両側のメソッドのカスタムパッケージとバンドルすることを望んでいました。
賢い人々のカップルは、これらのパラダイムの変化について考えました。アンガス・クロルが記事javascript-object-keys-finallyで言及したように:
「さらに、配列と通常のオブジェクトの間の境界線が曖昧になると(カスタムゲッターとセッターによって支援されます)、非数値識別子とアクセスの両方の長所を享受する一般的な「配列のような」オブジェクトの成長が見られる可能性があります。 Array.prototypeによって定義された豊富なAPIセット。EcmaScript5は、1つのタイプで定義されているが、どのタイプでも使用できるジェネリックメソッドを導入することで、この傾向を先取りしたようです。」
途中で、彼は記事にコード化されたものを取得します: extending-objects-with-javascript-getters
このアプローチは私にとって非常に興味深いものです。しかし、それはまた、いくつかの深刻な問題に苦しんでいるようです!
元のmyObjモデルをいくつかの新しいプロパティで拡張してみませんか?
extendAsArray
プロパティに関する更新を行うために、すべてのプロパティ変更を実行する必要がlength
ありますか?プロパティが変更された場合、
length
関連するのはプロパティだけではありません。配列のようなプロパティ要求は間違いなく未定義であることが判明するため、配列インデックスも更新する必要があります。そうするときそれから
/li>
それに応じてAngusのコードを変更したので、length
リクエストに応じてプロパティの自動更新をサポートします。
length
問題は、プロパティが変更、追加、または削除されたときに、オブジェクトの配列インデックスをそのプロパティと一緒に更新するにはどうすればよいかということです。
使用する必要がありますObject.watch
か?
そして、まだ解決されていない質問があります。一貫した方法でオブジェクトに対してもそれを作成した、私自身のシミングされていないユーティリティライブラリに干渉する方法は?
私は両方のタイプに同じコードベースを使用しています:z.Object({}).mapEvery
同じことをしますz.Object([]).mapEvery
JQueryやアンダースコアについても言及しないでください。私は両方のタイプのメソッドの包括的なカスタムリストを持っており、おそらくシムなしの標準で完成した標準を使用するつもりであり、それをリファクタリングするつもりはありません!
javascript - ECMAScriptv6が標準になるのはいつですか
これまでに質問されたことがある場合は申し訳ありませんが、ECMAScript v 6がドラフト以上になり、新しい標準になるのはいつになるのでしょうか。ECMA Webサイト(セクション262)にアクセスすると、2011年6月にリリースされたエディション5.1が最新であることがわかります。
注:(今後数か月以内にECMA262エディション5.1について講演する予定であり、古い資料について話しているのではないことを願っています:)
javascript - EcmaScript5のWeakMap実装?
クロスブラウザのWeakMapをES5に実装するJavaScript ライブラリに出くわしました。(WeakMap はES6向けに予定されています。)
JavaScript 言語自体のサポートがなければ、これがどのように機能するのでしょうか?
編集:明確にするために、通常のマップではなく、弱いマップについて言及しています。Chrome のプロファイラーを使用してこのプロジェクトをテストしましたが、キーは強い参照によって保持されていません。それらは、WeakMap から削除することなく GC されます。