タグ付けされた質問 「ecmascript-6」

ECMAScript仕様の2015バージョン。現在は標準(ECMAScript 2015)。このタグは、質問がECMAScript 2015で提供される新機能または技術変更に特に関連する場合にのみ使用してください。

6
ES6 WeakMapの実際の用途は何ですか?
WeakMapECMAScript 6で導入されたデータ構造の実際の用途は何ですか? 弱マップのキーは、その対応する値への強い参照を作成するので、弱マップに挿入された値は、あろうことを確実に決して限り、そのキーがまだ生きているように消滅しない、それは、メモテーブルのために使用することができませんキャッシュなど、通常は弱い参照、弱い値のマップなどを使用します。 これは私には思えます: weakmap.set(key, value); ...これは単なる迂回的な方法です: key.value = value; どの具体的なユースケースが欠けていますか?

10
オブジェクトスプレッドとObject.assign
のは、私が持っていると言うoptions変数を、私はいくつかのデフォルト値を設定したいです。 これらの2つの選択肢の利点/欠点は何ですか? オブジェクトスプレッドの使用 options = {...optionsDefault, ...options}; またはObject.assignを使用する options = Object.assign({}, optionsDefault, options); これは私が不思議に思ったコミットです。


1
JavaScriptでデフォルトのインポートにエイリアスを設定するにはどうすればよいですか?
ES6モジュールを使用すると、名前付きインポートにエイリアスを付けることができます import { foo as bar } from 'my-module'; そして、私はデフォルトのインポートをインポートできることを知っています import defaultMember from 'my-module'; デフォルトのインポートにエイリアスを付けたいのですが、次のようにするとうまくいきました import defaultMember as alias from 'my-module'; しかし、その結果、構文解析(構文)エラーが発生します。 デフォルトのインポートにエイリアスを設定するにはどうすればよいですか?

7
シンボルをES6に導入する動機は何ですか?
更新:最近、Mozillaからの素晴らしい記事が登場しました。興味があれば読んでください。 ご存じかもしれませんが、彼らはECMAScript 6 に新しいSymbolプリミティブ型を含めることを計画しています(他のクレイジーなものは言うまでもありません)。:symbolRuby の概念は不必要だといつも思っていました。JavaScriptの場合のように、代わりにプレーンストリングを簡単に使用できます。そして今、彼らはJSで物事を複雑にすることにしました。 動機がわかりません。JavaScriptでシンボルが本当に必要かどうか誰かに説明してもらえますか?

27
ReactJSコンポーネントに複数のクラスを追加する方法
私はReactJSとJSXを初めて使用し、以下のコードに少し問題があります。 classNameそれぞれの属性に複数のクラスを追加しようとしていますli: <li key={index} className={activeClass, data.class, "main-class"}></li> 私のReactコンポーネントは: var AccountMainMenu = React.createClass({ getInitialState: function() { return { focused: 0 }; }, clicked: function(index) { this.setState({ focused: index }); }, render: function() { var self = this; var accountMenuData = [ { name: "My Account", icon: "icon-account" }, { name: "Messages", …

16
反応ルーターV4を使用してプログラムでナビゲートする
react-routerv3からv4に置き換えたところです。 しかし、のメンバー関数をプログラムでナビゲートする方法がわかりませんComponent。つまり、handleClick()関数では、/path/some/whereいくつかのデータを処理した後に移動したいと思います。以前は次の方法でそれを行っていました。 import { browserHistory } from 'react-router' browserHistory.push('/path/some/where') しかし、v4ではそのようなインターフェースを見つけることができません。 v4を使用してナビゲートするにはどうすればよいですか?

4
Node.jsおよびES6でのmodule.exportsとexport default
Node module.exportsとES6の違いは何export defaultですか?export defaultNode.js 6.2.2で「__はコンストラクターではありません」エラーが発生する理由を理解しようとしています。 機能するもの 'use strict' class SlimShady { constructor(options) { this._options = options } sayName() { return 'My name is Slim Shady.' } } // This works module.exports = SlimShady 何をしていない仕事 'use strict' class SlimShady { constructor(options) { this._options = options } sayName() { return 'My name …

14
ES6クラスで静的定数を宣言していますか?
定数をに実装したいのclassは、コード内で定数を配置することが意味があるためです。 これまでのところ、私は静的メソッドで次の回避策を実装しています。 class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } 私はプロトタイプをいじる可能性があることを知っていますが、多くの人はこれを推奨しません。 ES6クラスに定数を実装するより良い方法はありますか?




11
JavaScriptのマップとオブジェクト
私はchromestatus.comを見つけたところ、1日の数時間を失った後、次の機能エントリが見つかりました。 マップ:マップオブジェクトは単純なキー/値マップです。 それは私を混乱させました。通常のJavaScriptオブジェクトは辞書ですが、辞書とどうMap違うのですか?概念的には同じです( マップと辞書の違いは何ですか?) ドキュメントのchromestatusリファレンスは、次のいずれにも役立ちません。 マップオブジェクトは、キーと値のペアのコレクションであり、キーと値の両方が任意のECMAScript言語値である可能性があります。個別のキー値は、マップのコレクション内の1つのキー/値ペアでのみ発生する可能性があります。マップの作成時に選択された比較アルゴリズムを使用して識別される個別のキー値。 Mapオブジェクトは、その要素を挿入順に反復できます。マップオブジェクトは、ハッシュテーブルまたは他のメカニズムを使用して実装する必要があります。これにより、平均して、コレクション内の要素の数に対して線形ではないアクセス時間が提供されます。このMapオブジェクト仕様で使用されるデータ構造は、Mapオブジェクトの必要な監視可能なセマンティクスを記述することのみを目的としています。実行可能な実装モデルになることは意図されていません。 …私にはまだオブジェクトのように聞こえるので、明らかに何かを逃しました。 JavaScriptが(十分にサポートされている)Mapオブジェクトを取得するのはなぜですか?それは何をするためのものか?

2
typescriptを使用する必要がありますか?または私はES6を使用できますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する 私の毎日の仕事は、AngularJSを使用するクライアント開発者です。TypeScriptを使用するかどうかを評価しています。私はtypescriptについていくつかの調査を行いましたが、必要なほぼすべてのJavaScriptパッケージには定義タイプファイルが必要です。特に何か新しいことを試してみたいと思っていて、定義が定義されていない場合は、あまり便利ではないことがわかりました。本当にイライラします。(typescript 1.5ベータ版を使用する場合、現在のjQuery定義でも問題が発生します)。ES6を検討し始めましたが、TypeScriptに似ています。代わりにES6を使用する必要がありますか?また、angular 2はTypeScriptを完全にサポートすることになると聞きました。

7
Jestを使用してES6モジュールのインポートをモックするにはどうすればよいですか?
これは不可能だと思い始めていますが、とにかく聞きたいです。 ES6モジュールの1つが特定の方法で別のES6モジュールを呼び出すことをテストしたいと思います。ジャスミンを使えば、これはとても簡単です- アプリコード: // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } そしてテストコード: //myModule-test.js import myModule from '../myModule'; import dependency from '../dependency'; describe('myModule', () => { it('calls the dependency with double the input', () => { spyOn(dependency, 'doSomething'); myModule(2); expect(dependency.doSomething).toHaveBeenCalledWith(4); }); }); Jestと同等のものは何ですか?これはやりたいことのように簡単なことだと思いますが、それを理解しようとして髪を切り裂いてきました。 一番近いのは、importsをrequiresに置き換え、それらをテスト/関数内に移動することです。どちらも私がやりたいことではありません。 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.