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

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


10
どのルートでもindex.htmlを提供するようにwebpack開発サーバーに指示する方法
Reactルーターを使用すると、reactアプリで処理できます/arbitrary/route。これを機能させるには、一致するルートでReactアプリを送信するサーバーが必要です。 しかし、webpack開発サーバーは任意のエンドポイントを処理しません。 追加の高速サーバーを使用するソリューションがあります。 webpack-dev-serverがreact-routerからのエントリポイントを許可できるようにする方法 しかし、ルートマッチングを可能にするために別のExpressサーバーを起動したくありません。Webpack開発サーバーに任意のURLに一致するように伝え、反応アプリを送信したいだけです。お願いします。


11
forEachはJavaScript配列の関数エラーではありません
私は単純なループを作ろうとしています: const parent = this.el.parentElement console.log(parent.children) parent.children.forEach(child => { console.log(child) }) しかし、私は次のエラーを受け取ります: VM384:53 Uncaught TypeError:parent.children.forEachは関数ではありません たとえparent.childrenログ: 何が問題でしょうか? 注:これがJSFiddleです。


11
ES6で記述されたモジュールをNPMに公開する方法は?
モジュールをNPMに公開しようとしていたとき、ES6でモジュールを書き直そうと思ったとき、将来を見据え、ES6を学びました。私はBabelを使用してES5にトランスパイルし、テストを実行しました。しかし、私はどのように進めるかわかりません: トランスパイルして、結果の/ outフォルダーをNPMに公開しますか? 結果フォルダーをGithubリポジトリに含めますか? または、2つのリポジトリを維持します。1つはGithubのES6コード+ gulpスクリプト、もう1つは変換された結果+ NPMのテストです。 つまり、ES6で作成されたモジュールをNPMに公開する一方で、元のコードを参照/フォークできるようにするために、どのような手順を踏む必要がありますか?

5
Object.is vs ===
この比較を使用しているコード例に出くわしました。 var someVar = 0; Object.is(false, someVar); //Returns false 私は知っているfalse == 0だろうtrue、我々が持っている理由です===。 どうObject.is違うの===?

6
ES6 +で2つのJavaScriptオブジェクトをマージするにはどうすればよいですか?
私はいつもこのようなコードを書かなければならないことにうんざりしています。 function shallowExtend(obj1,obj2){ var key; for ( key in obj2 ) { if ( obj2.hasOwnProperty(key) === false ) continue; obj1[key] = obj2[key] } } または、自分でコードを記述したくない場合は、すでにそれを行うライブラリを実装します。確かにES6 +のようなものを提供してくれるだろう、この上の救助に来ていますObject.prototype.extend(obj2...)か、Object.extend(obj1,obj2...) ES6 +はそのような機能を提供しますか?まだそこにない場合、そのような機能は計画されていますか?計画されていない場合、なぜそうしないのですか?

6
ES6モジュールのインポートをモックする方法は?
次のES6モジュールがあります。 network.js export function getDataFromServer() { return ... } widget.js import { getDataFromServer } from 'network.js'; export class Widget() { constructor() { getDataFromServer("dataForWidget") .then(data => this.render(data)); } render() { ... } } のモックインスタンスでウィジェットをテストする方法を探していますgetDataFromServer。<script>KarmaのようにES6モジュールの代わりに個別のを使用した場合、次のようなテストを作成できます。 describe("widget", function() { it("should do stuff", function() { let getDataFromServer = spyOn(window, "getDataFromServer").andReturn("mockData") let widget = new …

8
文字列に新しい行を作成せずに長いテンプレートリテラル行を複数行に折り返します
es6テンプレートリテラルで、文字列に新しい行を作成せずに長いテンプレートリテラルを複数行にラップするにはどうすればよいですか? たとえば、次のようにした場合: const text = `a very long string that just continues and continues and continues` 次に、新しい行があると解釈して、文字列に新しい行記号を作成します。改行を作成せずに長いテンプレートリテラルを複数の行にラップするにはどうすればよいですか?

4
ES6 Fat Arrowを使用してオブジェクトの配列を.filter()する方法
.filter大人を返すためにES6の矢印機能を使用しようとしています(ジャックとジル)。ifステートメントを使用できないようです。 ES6でこれを行うには、何を知る必要がありますか? var family = [{"name":"Jack", "age": 26}, {"name":"Jill", "age": 22}, {"name":"James", "age": 5 }, {"name":"Jenny", "age": 2 }]; let adults = family.filter(person => if (person.age > 18) person); // throws error (8:37) SyntaxError: unknown: Unexpected token (8:37) |let adults = family.filter(person => if (person.age > 18) person); 私の実際のES5の例: let …

13
ES6でのJavaScriptの列挙型
私はJavascriptで古いJavaプロジェクトを再構築していて、JSで列挙型を行う良い方法がないことに気づきました。 私が思いつくことができる最高のものは: const Colors = { RED: Symbol("red"), BLUE: Symbol("blue"), GREEN: Symbol("green") }; Object.freeze(Colors); const続けてColors再割り当てされているから、それがキーと値を変異防止凍結します。私はシンボルを使用しているので、それColors.REDはと等しくない0か、それ以外のものは何でもありません。 この処方に問題はありますか?もっと良い方法はありますか? (私はこの質問が少し繰り返されることを知っていますが、以前のすべてのQ / Aはかなり古く、ES6はいくつかの新しい機能を提供します。) 編集: シリアル化の問題を処理する別の解決策ですが、まだレルムの問題があると思います。 const enumValue = (name) => Object.freeze({toString: () => name}); const Colors = Object.freeze({ RED: enumValue("Colors.RED"), BLUE: enumValue("Colors.BLUE"), GREEN: enumValue("Colors.GREEN") }); 値としてオブジェクト参照を使用することにより、シンボルと同じ衝突回避が得られます。

5
Object.freeze()とconst
Object.freeze()constES6での使用に移行するための移行用の便利な方法のようです。 両方がコードで代わりになるケースはありますか、または不変データを操作するための好ましい方法はありますか? 私が使用する必要がありObject.freeze()、私はサポートで働くすべてのブラウザが瞬間までconst、その後の使用に切り替えるconst代わりに?

6
React + ES6 + webpackを使用してコンポーネントをインポートおよびエクスポートする方法
私はで遊んだReactとES6使用babelしてwebpack。複数のコンポーネントを異なるファイルで構築し、単一のファイルにインポートして、それらをバンドルしたいwebpack 私がこのようないくつかのコンポーネントを持っているとしましょう: my-navbar.jsx import React from 'react'; import Navbar from 'react-bootstrap/lib/Navbar'; export class MyNavbar extends React.Component { render(){ return ( <Navbar className="navbar-dark" fluid> ... </Navbar> ); } } main-page.jsx import React from 'react'; import ReactDOM from 'react-dom'; import MyNavbar from './comp/my-navbar.jsx'; export class MyPage extends React.Component{ render(){ return( <MyNavbar /> …


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