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

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

6
JSXプロップが矢印関数またはバインドを使用しないのはなぜですか?
Reactアプリでlintを実行していますが、次のエラーが表示されます。 error JSX props should not use arrow functions react/jsx-no-bind そして、これは私が矢印関数を実行しているところです(内部onClick): {this.state.photos.map(tile => ( <span key={tile.img}> <Checkbox defaultChecked={tile.checked} onCheck={() => this.selectPicture(tile)} style={{position: 'absolute', zIndex: 99, padding: 5, backgroundColor: 'rgba(255, 255, 255, 0.72)'}} /> <GridTile title={tile.title} subtitle={<span>by <b>{tile.author}</b></span>} actionIcon={<IconButton onClick={() => this.handleDelete(tile)}><Delete color="white"/></IconButton>} > <img onClick={() => this.handleOpen(tile.img)} src={tile.img} style={{cursor: 'pointer'}}/> …

5
必須のNode.js ES6クラス
だから今まで、私はnode.js次の方法でクラスとモジュールを作成しました: var fs = require('fs'); var animalModule = (function () { /** * Constructor initialize object * @constructor */ var Animal = function (name) { this.name = name; }; Animal.prototype.print = function () { console.log('Name is :'+ this.name); }; return { Animal: Animal } }()); module.exports = animalModule; ES6を使用すると、次のように「実際の」クラスを作成できます。 class …

12
setStateは状態をすぐに更新しません
onclickイベントを実行しても状態が変化しないのはなぜですか。しばらく前に検索しましたが、onclick関数をコンストラクターにバインドする必要がありますが、それでも状態が更新されません。これが私のコードです: import React from 'react'; import Grid from 'react-bootstrap/lib/Grid'; import Row from 'react-bootstrap/lib/Row'; import Col from 'react-bootstrap/lib/Col'; import BoardAddModal from 'components/board/BoardAddModal.jsx'; import style from 'styles/boarditem.css'; class BoardAdd extends React.Component { constructor(props){ super(props); this.state = { boardAddModalShow: false } this.openAddBoardModal = this.openAddBoardModal.bind(this); } openAddBoardModal(){ this.setState({ boardAddModalShow: true }); // After setting …

4
ECMAScript 6クラスのゲッターとセッターは何ですか?
ECMAScript 6クラスのゲッターとセッターのポイントが何なのか混乱しています。目的は何ですか?以下は私が言及している例です: class Employee { constructor(name) { this._name = name; } doWork() { return `${this._name} is working`; } get name() { return this._name.toUpperCase(); } set name(newName){ if(newName){ this._name = newName; } } }

13
ECMA6セットの同等性の比較
2つのJavaScriptセットをどのように比較しますか?私は使っ==てみました===がどちらも偽を返します。 a = new Set([1,2,3]); b = new Set([1,3,2]); a == b; //=> false a === b; //=> false これらの2つのセットは同等です。定義上、セットには順序がないためです(少なくとも通常は)。Set on MDNのドキュメントを調べたところ、何も役に立たないことがわかりました。誰でもこれを行う方法を知っていますか?

8
どのようにしてES6マップをJSON.stringifyしますか?
JSオブジェクトの代わりにES6マップの使用を開始したいのですが、マップをJSON.stringify()する方法がわからないため、保留されています。私のキーは文字列であることが保証されており、私の値は常にリストされます。シリアル化するために本当にラッパーメソッドを記述する必要がありますか?

6
シーケンスのPython'enumerate 'に相当するES6とは何ですか?
Pythonには、反復可能なペアを取得するための組み込み関数enumerateがあり(index, item)ます。 ES6にはアレイに相当するものがありますか?それは何ですか? def elements_with_index(elements): modified_elements = [] for i, element in enumerate(elements): modified_elements.append("%d:%s" % (i, element)) return modified_elements print(elements_with_index(["a","b"])) #['0:a', '1:b'] ES6と同等enumerate:なし function elements_with_index(elements){ return elements.map(element => elements.indexOf(element) + ':' + element); } console.log(elements_with_index(['a','b'])) //[ '0:a', '1:b' ]

5
匿名のJavaScript関数f => fは正確には何をしますか?
関数を引数として取る関数を持つサードパーティライブラリを使用しています。特定の関数をパラメーターとして追加するかどうかを決定するためにいくつかの条件チェックを行っています。場合によっては、関数を提供したくありません。その場合にnullを指定すると、エラーがスローされます。 動作するこのコードを見つけましたが、何が起こっているのか完全には理解していません。 compose(__DEV__ ? devTools() : f => f) であるf => fと同等の() => {}空の無名関数?

5
Webpack Babel 6 ES6デコレーター
ES6でwebpackを私のバンドラーとして作成したプロジェクトがあります。ほとんどのトランスパイルは問題なく動作しますが、デコレータをどこかに含めようとすると、次のエラーが発生します。 Decorators are not supported yet in 6.x pending proposal update. 私はbabelの課題追跡を調べましたが、そこで何も見つけることができなかったので、間違って使用していると思います。私のwebpack設定(関連ビット): loaders: [ { loader: 'babel', exclude: /node_modules/, include: path.join(__dirname, 'src'), test: /\.jsx?$/, query: { plugins: ['transform-runtime'], presets: ['es2015', 'stage-0', 'react'] } } ] 私は他に何も問題はありません、矢印関数、すべての構造を正常に解体すること、これが機能しない唯一のものです。 私はいつでも以前に動作していたbabel 5.8にいつでもダウングレードできることを知っていますが、これを現在のバージョン(v6.2.0)で動作させる方法がある場合は役立ちます。

7
JavaScriptで定数の値を変更できるのはなぜですか
ES6はまだ標準化されていないことを知っています が、現在多くのブラウザconstがJSのキーワードをサポートしています。 仕様では、次のように書かれています。 定数の値は再割り当てによって変更できず、定数を再宣言することはできません。このため、初期化せずに定数を宣言することは可能ですが、そのようにしても意味がありません。 そして私がこのようなことをすると: const xxx = 6; xxx = 999; xxx++; const yyy = []; yyy = 'string'; yyy = [15, 'a']; 私はそのすべてがOKであることがわかりxxx、まだされる6とyyyあります[]。 しかし、実行するyyy.push(6); yyy.push(1);と、定数配列が変更されています。現在のところ[6, 1]、私はまだそれを変更できませんyyy = 1;。 これはバグですか、それとも何か不足していますか?最新のクロームとFF29で試してみました

2
babelがインポートされた関数呼び出しを(0、fn)(…)に書き換えるのはなぜですか?
次のような入力ファイルがあるとします import { a } from 'b'; function x () { a() } バベルはそれをコンパイルします 'use strict'; var _b = require('b'); function x() { (0, _b.a)(); } ただし、ルーズモードでコンパイルすると、関数呼び出しは次のように出力されます。 _b.a(); コンマ演算子がどこに追加されているかについて、いくつかの調査を行って、それを説明するコメントがあったことを期待しています。これを追加するコードはここにあります。

4
約束、追加のパラメーターをチェーンに渡します
たとえば、約束: var P = new Promise(function (resolve, reject) { var a = 5; if (a) { setTimeout(function(){ resolve(a); }, 3000); } else { reject(a); } }); 呼び出した後、promiseのメソッド: P.then(doWork('text')); doWork関数は次のようになります。 function doWork(data) { return function(text) { // sample function to console log consoleToLog(data); consoleToLog(b); } } doWorkで内部関数を返さないようにして、promiseおよびtextパラメーターからデータにアクセスするにはどうすればよいですか?内部機能を回避するためのトリックはありますか?

2
ES6ゲッター/セッター、アロー機能付き
私はbabel6を使用しており、ペットプロジェクトでは、使用できるメソッド用にXMLHttpRequestのラッパーを作成しています。 open = (method, url, something) => { return this.xhr.open(method, url, something); } しかし、プロパティの場合、矢印関数は機能しません これは機能します: get status() { return this.xhr.status; } でも使えない get status = () => this.xhr.status; これは意図的なものですか?

6
ES6Iterableを配列に変換する
配列のようなJavascriptES6 Iterableがあり、長さが有限であることが事前にわかっているとしましょう。これをJavascript配列に変換する最良の方法は何ですか。 その理由は、アンダースコアやlodashなどの多くのjsライブラリは配列のみをサポートしているため、Iterableでそれらの関数のいずれかを使用する場合は、最初に配列に変換する必要があります。 Pythonでは、list()関数を使用できます。ES6に同等のものはありますか?

1
prettier-eslint、eslint-plugin-prettier、eslint-config-prettierの違いは何ですか?
PrettierとESLintを一緒に使いたいのですが、次々と使うだけでコンフリクトが発生しました。タンデムで使用できるように見える次の3つのパッケージがあることがわかります。 prettier-eslint eslint-plugin-prettier eslint-config-prettier しかし、私はすべて含まれているこれらのパッケージ名として使用するか不明だeslintとprettier。 どちらを使うべきですか?

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