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

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

4
--harmony_modulesオプションを指定したノードv6.0.0でES2015「インポート」が機能しない
ノードv6.0.0を使用していて、ES2016(ES6)を使用したいと考えています。しかし、「インポート」構文が機能していないことに気づきました。ES2015でモジュラーコードを書くための基本は「インポート」ではありませんか?--harmony_modulesオプションを指定してノードを実行しようとしましたが、「インポート」について同じエラーが発生しました。これがコードです。 「インポート」なしの作業コード: 'use strict'; let sum = 0; class Number { addNumber(num1, num2) { return num1 + num2; } } let numberObj = new Number(); sum = numberObj.addNumber(1,2); console.log("sum of two number 1 and 2 "+ sum); 「インポート」で機能しないコード: server.js 'use strict'; import Number from "./Number"; let sum = 0; let …


1
Typescript:モジュールの外ではimportステートメントを使用できません
node js(07.10.19のnode.jsの最新バージョン)アプリに.tsファイルがあり、デフォルトのエクスポートなしでnode-moduleをインポートしています。私はこの構造を使用しimport { Class } from 'abc';ますCannot use import statement outside a module。コードを実行すると、次のエラーが発生します。 ネットワークでは、この問題(.jsの場合)の多くの解決策が見られますが、typescriptファイルがあるため、それは私には役に立ちません。これが私のコードです: import { Class } from 'abc'; module.exports = { ... execute(a : Class ,args : Array<string>){ ... ここに私のtsconfig.jsonがあります: { "compilerOptions": { "target": "es6", "module": "commonjs", "strict": true } }

2
JavaScript ES6では、イテラブルとイテレーターの違いは何ですか?
イテラブルはイテレーターと同じですか、それとも異なりますか? と思われる仕様から、反復可能なオブジェクトである、と言う、objそのように、obj[Symbol.iterator]呼び出されたときに、あるオブジェクトを返すように、機能を指しnext返すことができます方法{value: ___, done: ___}:オブジェクトを function foo() { let i = 0; const wah = { next: function() { if (i <= 2) return { value: (1 + 2 * i++), done: false } else return { value: undefined, done: true } } }; return wah; // wah is iterator …

1
JavaScriptで(super .__ proto__ === this .__ proto__)がtrueなのはなぜですか?
JavaScript(ES6)クラスのようsuper.__proto__ === this.__proto__です。 これが事実である理由を説明できますか?動作は異なるブラウザー間で一貫しているように見えるので、これは仕様のどこかに指定されていると思います。 次のコードを検討してください。 class Level1 { myFunc() { console.log('Level1'); } } class Level2 extends Level1 { myFunc() { console.log('Level2'); } } class Level3 extends Level2 { myFunc() { console.log('Level3 BEGIN ' + Math.random()); super.__proto__.myFunc(); console.log(super.__proto__ === this.__proto__); console.log('Level3 END'); } } const foo = new Level3(); foo.myFunc(); コードスニペットを実行する結果を非表示スニペットを展開 …

2
「パイプ」されたES6関数のJSDocを生成する方法
で関数構成を使用して定義されたES6スタイルの関数がありasyncPipeます。 import { getItemAsync } from 'expo-secure-store'; const asyncPipe = (...fns) => x => fns.reduce(async (y, f) => f(await y), x); const getToken = () => getItemAsync('token'); const liftedGetToken = async ({ ...rest }) => ({ token: await getToken(), ...rest, }); const liftedFetch = ({ body, route, token, method = …

1
ブロックスコープを指定したJavascriptのデフォルト引数がiOSでのみ失敗する
try { const val = 'correct value'; (() => { ((arg = val) => { const val = 'ignored value'; alert(arg); })(); })(); } catch (err) { alert(err.message || 'Unknown error'); } コードスニペットを実行する結果を非表示スニペットを展開 OS X Chrome、OS X Safari、Android Chrome、Windows Chrome、Windows Firefox、さらには Windows Edgeでは、「正しい値」を警告します。iOS SafariおよびiOS Chromeでは、「変数が見つかりません:val」という警告が表示されます。 次のスニペットはすべてiOSで機能します。 デフォルトの引数を使用しない(抜粋2): try { const …

2
エラーのためにJestでpostメソッドをテストできません。未定義のmockImplementationを読み取れません
APIを呼び出すためのさまざまなメソッドがあるAPIサービスがあります。すべてのGETリクエストのテストに成功しましたが、POSTリクエストのテストに問題があります。 これがメソッドです: export default class ApiService { static makeApiCall = <T>( url: string, oneCb: <T>(d: Data) => T, secondCb: (d: T) => void, errorCb?: (a: ErrorModel) => void, method = 'get', data = {}, ): Promise<void> => { const config: AxiosRequestConfig = {}; if (method === 'post') { config.headers = …

1
なぜAngular 9は自分でコードをプリコンパイルする必要があるのですか?
プロジェクトをAngular 9にアップグレードしました。最初に気付いたのは、CIでビルド時間が大幅に増加したことです(2分から4分に)。 ログを分析すると、テストまたはビルドが実行されるたびに、CLIがプリコンパイルを実行します。これは新しいIvyアーキテクチャが原因ですが、私の理解から、このコンパイルはIvy互換でないコードでのみ発生するはずです。 それでCompiling @angular/common : es2015 as esm2015、ビルドに多くの(主に@angularパッケージから)が表示されるのはなぜですか?Angularコード自体はIvyと互換性があってはいけませんか? 注:これは新しいプロジェクトでも発生します(ライブラリが少ない場合のみ)。 更新 これは、ビルドが必要なすべてのコマンドで発生します。例: ng test --code-coverage=true --watch=false --browsers=ChromeHeadle ng b -c=staging --aot アップデート2 私は私は比較のためにビルドを追加している:角度事前9とした後、角9移行(ビルドはまだ失敗が、私たちは〜に〜2分で、合計実行の4分を基準にユニットテストを使用することができます)

5
AngularDartの別のコンポーネントにCSSクラスを適用する方法は?
ポップアップを表示するシンプルなフレームワークがあるとしましょう: @Component( selector: 'popup-host', template: ''' <div class="popup-container"> <ng-template #popupRef></ng-template> </div> ''', styles: ['.popup-container { position: absolute; top: 100; left: 100; z-index: 100; }'], ) class PopupContainerComponent { final PopupController _controller; final ComponentLoader _loader; PopupContainerComponent(this._controller, this._loader); void ngOnInit() { _controller.container = this; } @ViewChild('popupRef', read: ComponentRef) ComponentRef popupRef; void render(PopupConfig …

2
ES5モジュールでのES6インポートのサポート
初年度の学生のために、私は明らかにモジュールパターンを使用して書かれたシンプルなES5ベースのライブラリを提供しました。以下は、「メイン」モジュール/名前空間のスニペットで、他の拡張機能を収容します。 window.Library = (function ($) { if (!$) { alert("The Library is dependent on jQuery, which is not loaded!"); } return {}; })(window.jQuery); これは、Web開発に不慣れで、ES6などのファンシーなものをWebpackやBabelと組み合わせて使用​​していない学生のほぼ99.9%に役立ちます。 0.1%から、適切にインポートできるES6ベースのバージョンを提供するように要求されました。私はこれを提供できれば幸いですが、これに最善のアプローチをする方法にちょっとこだわっています。 私は明らかにES5の方法を維持したいので、生徒はスクリプトタグを使用してファイルを含め、Library.SomeExtension.aFunction();好きな場所に入力することができます。その上、一部の拡張機能はjQueryに依存しており、jQueryは上記のスニペットと同様の方法で挿入されます。 現在、jQueryを依存関係として使用して、1つのコードベースで両方の世界を最大限に活用するための保守可能な方法を探しています。99.9%をa window.Libraryにしたいのに対し、0.1%に使用方法を与えたいimport Library from 'library'。 両方を行う単一のJSファイルでこれを実現できますか?それとも特別なES6バージョンが必要ですか(問題はありません)?そして何よりも、両方の状況をサポートできるように、コード(すべて上記のスニペットと同様)をどのように改造しますか? どんなポインタでも大歓迎です! 編集:ただ、サイドノートとして、私はすでに持っているgulpfile.jsこのによるライブラリ走る場所でBabel、minifiers他のものを。したがって、上記の問題を解決するためにそれを拡張する必要はありません!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.