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

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

15
ES2015のみで0からnまでの数値の範囲を生成する方法は?
rangePythonなどで使用できるので、JavaScriptに欠けている関数を常に見つけましたか?ES2015で範囲の数値を生成する簡潔な方法はありますか? 編集:私の質問はECMASCRIPT-5ではなくES2015に固有であるため、前述の重複とは異なります。また、範囲は0から始まり、特定の開始番号ではないことが必要です(それがそこにあればいいでしょうが)

3
SystemJSのようなモジュールローダーを使用する場合のSafariのWebインスペクターでのデバッグ
私が作成していますIonic使用してアプリをes6 modules、TypeScriptおよびSystemJSモジュールローダとして。これは私のセットアップです: tsconfig.json: { "compilerOptions": { ... "target": "es5", "module": "system", ... } } index.html: <script src="lib/system.js"></script> <script src="systemjs.config.js"></script> <script>System.import('js/app.js')</script> スクリプトの例(TypeScript): import {IConfig} from "./app-config"; export class ConfigLoader { ... } Chromeですべてがうまくいきます。ただし、SafariのWebインスペクターを使用してデバッグする場合、WebインスペクターはHTMLから直接読み込まれたスクリプト(スクリプトタグを介して)のみを表示し、XHR(私の場合はSystemJS)によって読み込まれたスクリプトを表示しないため、スクリプトにブレークポイントを配置できません。 。つまり、自分のスクリプトをデバッグすることはできません。もちろん、これは受け入れられません。 以前のようにSystemJSを使用してこれを回避しようとしましたが、次のようにスクリプトタグをhtmlに配置しました。 <script src="lib/system.js"></script> <script src="systemjs.config.js"></script> <script src="js/app-config.js"></script> ... other app scripts <script>System.import('js/app.js')</script> ただし、SystemJSはこれについて満足していないようなので、これは機能しません。 無効なSystem.register呼び出し。匿名のSystem.register呼び出しは、SystemJS.importによって読み込まれたモジュールでのみ実行でき、スクリプトタグ経由では実行できません。 SystemJSをどのように使用し、同時にSafariでデバッグすることができますか?「各スクリプトにデバッガーステートメントを置く」よりも少し洗練された解決策を探しています...

3
関数パラメーターリスト内の中括弧はes6で何をしますか?
私が取り組んでいるコードベースで、次のような関数が見られます。 const func = ({ param1, param2 }) => { //do stuff } これは正確には何をしているのですか?これが何と呼ばれているのか、Google検索でそれをどのように説明するのかさえわからないので、Googleでそれを見つけるのに苦労しています。

5
ES6 / Typescriptの矢印関数での_(アンダースコア)変数の使用
私はAngularの例でこの構造に出くわし、なぜこれが選択されるのか不思議に思います: _ => console.log('Not using any parameters'); 変数_は気にしない/使用しないことを意味しますが、それが唯一の変数であるため、_よりも_の使用を好む理由があります。 () => console.log('Not using any parameters'); 確かに、これはタイプするのに約1文字少なくなることはありません。()構文は、私の考えでは意図をよりよく伝え、タイプ固有でもあります。それ以外の場合、最初の例は次のようになっているはずだと思います。 (_: any) => console.log('Not using any parameters'); 重要な場合は、これが使用されたコンテキストです。 submit(query: string): void { this.router.navigate(['search'], { queryParams: { query: query } }) .then(_ => this.search()); }

4
`var {…} =…`ステートメントの中括弧は何をしますか?
これがMozilla固有のJS構文かどうかはわかりませんが、たとえばアドオンSDKのドキュメントで、このように変数が宣言されていることがよくありました。 var { Hotkey } = require("sdk/hotkeys"); およびさまざまなクロムJavascript(letステートメントがの代わりに使用されていますvar)、 let { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components; 非常に混乱しましたが、MDNでも、両方の構文に関するドキュメントを見つけることができません。


3
React、ES6-getInitialStateはプレーンなJavaScriptクラスで定義されました
次のコンポーネント(radioOther.jsx)があります。 'use strict'; //module.exports = <-- omitted in update class RadioOther extends React.Component { // omitted in update // getInitialState() { // propTypes: { // name: React.PropTypes.string.isRequired // } // return { // otherChecked: false // } // } componentDidUpdate(prevProps, prevState) { var otherRadBtn = this.refs.otherRadBtn.getDOMNode(); if (prevState.otherChecked !== otherRadBtn.checked) …


9
ES6はオブジェクトからすべての値をエクスポートします
たとえば./my-module.js、戻り値となるオブジェクトを持つモジュール()があるとします。 let values = { a: 1, b: 2, c: 3 } // "export values" results in SyntaxError: Unexpected token だから私はそれらを次のようにインポートできます: import {a} from './my-module' // a === 1 import * as myModule from './my-module' // myModule.a === 1 私が見つけた唯一の方法は、エクスポートをハードコーディングすることです: export let a = values.a export let b = values.b …

7
モジュールがモックされていないときに、インポートされた名前付き関数をJestでモックする方法
Jestでテストしようとしている次のモジュールがあります。 // myModule.js export function otherFn() { console.log('do something'); } export function testFn() { otherFn(); // do other things } 上に示したように、いくつかの名前付き関数をエクスポートし、重要なことにをtestFn使用しotherFnます。 Jestで、の単体テストを作成しているときに、の単体テストにエラーが影響しないようにするためtestFn、otherFn関数をモックしたいと思います。私の問題は、それを行うための最良の方法がわからないということです。otherFntestFn // myModule.test.js jest.unmock('myModule'); import { testFn, otherFn } from 'myModule'; describe('test category', () => { it('tests something about testFn', () => { // I want to mock "otherFn" …

5
ES6 /ノード4でインターフェースを作成する方法はありますか?
ES6はノード4で完全に利用できます。ES6には、のようにメソッドコントラクトを定義するためのインターフェイスの概念が含まれているかどうか疑問に思いましたMyClass implements MyInterface。 グーグルで多くを見つけることはできませんが、素晴らしいトリックや回避策があるかもしれません。


4
割り当ての左側にあるJavascriptオブジェクトブラケット表記({ナビゲーション} =)
私はこれまでにこの構文を見たことがなく、それが何なのか疑問に思っています。 var { Navigation } = require('react-router'); 左側の括弧は構文エラーを投げています: 予期しないトークン{ webpack設定のどの部分が変換されているのか、構文の目的が何かはわかりません。ハーモニーなの?誰かが私を啓発できますか?


8
ES6クラスで関数を拡張する方法は?
OverаэтотвопросестьответынаStack Overflowнарусском:Наследованиеотфункции ES6では、特別なオブジェクトを拡張できます。そのため、関数から継承することが可能です。そのようなオブジェクトは関数として呼び出すことができますが、そのような呼び出しのロジックをどのように実装できますか? class Smth extends Function { constructor (x) { // What should be done here super(); } } (new Smth(256))() // to get 256 at this call? クラスのどのメソッドも、を介してクラスインスタンスへの参照を取得しますthis。ただし、関数として呼び出される場合は、をthis参照してくださいwindow。関数として呼び出されたときに、クラスインスタンスへの参照を取得するにはどうすればよいですか? PS:ロシア語でも同じ質問です。

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