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

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

1
NodeJSは、インポート/エクスポートes6(es2015)モジュールのサポートを計画しています
私はこれについて明確な答えがないままインターネット全体を調べてきました。 現在、NodeJSはCommonJS構文のみを使用してモジュールをロードしています。標準のES2015モジュール構文を本当に使用したい場合は、事前にトランスパイルするか、実行時に外部モジュールローダーを使用する必要があります。 現在、私はこれらの2つの方法のいずれかを使用するのにあまり前向きではありません。NodeJSのメンテナはES2015モジュールをサポートする計画を立てているのでしょうか?これについてのヒントはまったく見つかりませんでした。 現在、NodeJS 6.xはES2015の機能の96%をサポートしていると主張していますが、モジュールへの参照はありません(NodeJS ES2105サポートリンク)。 NodeJSがすぐにこれらのモジュールをすぐにサポートするかどうか知っていますか?

3
Typescriptエクスポートとデフォルトエクスポート
間の活字体の違いは何であるexportとはdefault export。すべてのチュートリアルで、人々exportがクラスを使用していることを確認していますdefault。エクスポートする前にキーワードを追加しないと、コードをコンパイルできません。 また、公式のtypescriptドキュメントでデフォルトのエクスポートキーワードの痕跡を見つけることができませんでした。 export class MyClass { collection = [1,2,3]; } コンパイルしません。だが: export default class MyClass { collection = [1,2,3]; } します。 エラーは: error TS1192: Module '"src/app/MyClass"' has no default export.

5
Webpackを使用したvue.jsプロジェクトのat( '@')サインインパスを使用したES6インポート
私は新しいvue.jsプロジェクトを開始しているので、vue-cliツールを使用して、新しいWebpackプロジェクト(つまりvue init webpack)を足場しました。 生成されたファイルを調べていると、src/router/index.jsファイルに次のインポートが含まれていることに気付きました。 import Vue from 'vue' import Router from 'vue-router' import Hello from '@/components/Hello' // <- this one is what my qusestion is about Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'Hello', component: Hello } ] }) これまでに@パスのアットマーク()を見たことがない。私はそれが相対パスを許可しているのではないかと思っています(たぶん?)。 オンラインで検索してみましたが、説明が見つかりませんでした( "アットマーク"を検索するか、リテラル文字を使用し@ても検索条件として役に立たないためです)。 @このパスでは何をしますか(ドキュメントへのリンクは素晴らしいでしょう)、これはes6のものですか?ウェブパックのこと?ビューローダーのこと? 更新 Felix Klingに、この同じ質問について別の重複したStackoverflow質問/回答を教えてくれてありがとう。 …

5
ES6では、変数がletまたはconstで宣言されていませんか?
OverаэтотвопросестьответынаStack Overflowнарусском:Всплываютлиперемененее、объявленныеспомоststвletиcon ES6をしばらく使用していて、で宣言された変数がvar期待どおりに巻き上げられていることに気付きました... console.log(typeof name); // undefined var name = "John"; ...で宣言された変数、letまたはconst巻き上げに問題があると思われる変数: console.log(typeof name); // ReferenceError let name = "John"; そして console.log(typeof name); // ReferenceError const name = "John"; これは、宣言された変数letまたはconstホイストされていない変数を意味しますか?ここで本当に何が起こっているのですか?間に何らかの差があるletと、constこの問題では?

24
ES6のキーでオブジェクトプロパティをフィルタリングする
私がオブジェクトを持っているとしましょう: { item1: { key: 'sdfd', value:'sdfd' }, item2: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } 上記のオブジェクトをフィルタリングして別のオブジェクトを作成したいので、次のようにします。 { item1: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } Es6を使用してこれを実行するクリーンな方法を探しているので、スプレッドオペレーターを利用できます。

16
React / JSXへのスクリプトタグの追加
私は、Reactコンポーネントにインラインスクリプトを追加しようとするという比較的単純な問題を抱えています。これまでのところ: 'use strict'; import '../../styles/pages/people.scss'; import React, { Component } from 'react'; import DocumentTitle from 'react-document-title'; import { prefix } from '../../core/util'; export default class extends Component { render() { return ( <DocumentTitle title="People"> <article className={[prefix('people'), prefix('people', 'index')].join(' ')}> <h1 className="tk-brandon-grotesque">People</h1> <script src="https://use.typekit.net/foobar.js"></script> <script dangerouslySetInnerHTML={{__html: 'try{Typekit.load({ async: true });}catch(e){}'}}></script> </article> …

30
reactjsがエラーUncaught TypeErrorを返す:スーパー式は未定義ではなく、nullまたは関数でなければなりません
私はreactjsを使用しています。 ブラウザの下のコードを実行すると、次のようになります。 Uncaught TypeError:スーパー式は、未定義ではなく、nullまたは関数でなければなりません 何が悪いのかについてのヒントはすべていただければ幸いです。 まず、コードのコンパイルに使用される行: browserify -t reactify -t babelify examples/temp.jsx -o examples/public/app.js そしてコード: var React = require('react'); class HelloMessage extends React.Component { render() { return <div>Hello </div>; } } 更新:この問題を3日間地獄の火で燃やした後、最新バージョンのreactを使用していないことがわかりました。 グローバルにインストール: sudo npm install -g react@0.13.2 ローカルにインストール: npm install react@0.13.2 ブラウザが正しいバージョンも使用していることを確認してください: <script type="text/javascript" src="react-0.13.2.js"></script> これにより他の誰かが3日間貴重な命を救うことを願っています。

13
ワイルドカードを使用して、ディレクトリ内のすべてのファイルからモジュールをインポートすることは可能ですか?
ES6では、次のようにファイルからいくつかのエクスポートをインポートできます。 import {ThingA, ThingB, ThingC} from 'lib/things'; ただし、ファイルごとに1つのモジュールを持つ構成が好きです。私は次のようなインポートになります: import ThingA from 'lib/things/ThingA'; import ThingB from 'lib/things/ThingB'; import ThingC from 'lib/things/ThingC'; 私はこれができるようになりたいです: import {ThingA, ThingB, ThingC} from 'lib/things/*'; または同様のもの。各ファイルにはデフォルトのエクスポートが1つ含まれ、各モジュールにはそのファイルと同じ名前が付けられていることが理解されています。 これは可能ですか?

3
JavaScriptの「関数*」とは何ですか?
で、このページに私は新しいJavaScriptの関数型が見つかりました: // NOTE: "function*" is not supported yet in Firefox. // Remove the asterisk in order for this code to work in Firefox 13 function* fibonacci() { // !!! this is the interesting line !!! let [prev, curr] = [0, 1]; for (;;) { [prev, curr] = [curr, prev + …

5
ES6でインポートしたオブジェクトをエクスポートする方法
使用例は簡単です。インポートしたときと同じ名前のオブジェクトをエクスポートしたいだけです。 例えば: import React from 'react'; export React; しかし、これは機能しません。私は書く必要があります: import React from 'react'; export const React = React; しかし、これは奇妙です。これを行う正しい方法は何ですか? 更新: ヘルプとリファレンスをありがとう。私は多くの手掛かりで私の問題を解決しました。私とソリューションの一般的なケースをいくつか紹介したいと思います。 輸出輸入 import d, {obj} from '...'; export {obj, d}; export {obj as name1, d as name2}; すべての名前付きインポートを再エクスポートします export * from '...'; export * as name1 from '...'; 一部の名前付きインポートを再エクスポートする export …


2
es6反応コンポーネントが「デフォルトのエクスポート」でのみ機能するのはなぜですか?
このコンポーネントは機能します: export class Template extends React.Component { render() { return ( <div> component </div> ); } }; export default Template; 最後の行を削除すると機能しません。 Uncaught TypeError: Cannot read property 'toUpperCase' of undefined おそらく、私はes6構文の何かを理解していません。「デフォルト」の記号なしでエクスポートする必要はありませんか?

6
マップキーを配列に変換する方法は?
次のマップがあるとしましょう: let myMap = new Map().set('a', 1).set('b', 2); そして、上記に基づいて['a'、 'b']を取得したい。私の現在の解決策はとても長くて恐ろしいようです。 let myMap = new Map().set('a', 1).set('b', 2); let keys = []; for (let key of myMap) keys.push(key); console.log(keys); もっと良い方法があるに違いない?



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