【先端】ES 6入門基礎知識
3062 ワード
ES 6の入門についての理解
テンプレート文字列(JavaScriptのための単純な文字列補間機能を提供しています.)、矢印関数(オペレータの左は入力のパラメータです.右は操作と戻りの値Input=>outputputです.)、for-of(データを遍歴するための配列の値です.)、argmentsオブジェクトは不定パラメータとデフォルトパラメータによって完璧に置き換えられます.ES 6はpromiseオブジェクトを仕様に組み込み、オリジナルのPromiseオブジェクトを提供します.letとconstコマンドを追加して変数を宣言します.ブロックレベルのスコープが追加されました.letコマンドは実際にブロックレベルのスコープを追加しました.ES 6は、varコマンドとfunctionコマンド宣言のグローバル変数が、グローバルオブジェクトの属性に属すると規定しています.letコマンド、constコマンド、classコマンド宣言のグローバル変数は、グローバルオブジェクトの属性ではありません.また、モジュールの概念を導入します.
Promiseに対する理解 Promise/A+の定義に従って、Promiseは4つの状態があります. pending:初期状態、非fulfilledまたはrejectied. fulfilled:成功の操作. rejeced:失敗の操作. settled:Promiseはすでにfulfilledまたはrejectに登録されています.pending ではありません.
また、fulfilledはrejectdと共にsettled と呼ばれています. Promiseオブジェクトを用いて、遅延および非同期計算を行う .
Promiseの構造関数構造のPromiseの基本的な使い方は以下の通りです. Promiseの例は、then方法を有するオブジェクトを有し、通常はthenableと称される.その使い方は以下の通りです. は、2つの関数をパラメータとして受信し、一つはfulfilledの時に呼び出され、一つはrejectの時に呼び出され、受信パラメータはfuture、onFulfilledはreolveに対応し、onRejectは に対応します.
Promiseとは? Promiseは、非同期動作の最終結果を表すためのオブジェクトである . Promiseの最も主要なインタラクション方式:フィードバック関数をthen方法に導入して、最終結果またはエラー原因を得る . Promiseコードに記載されている表現:「連鎖式呼び出し」によって、コールバック関数の階層的な入れ子の代わりに、 ECMAScript 6の新しい特性ブロック級作用エリア は、定数 を定義することができる.変数デフォース 文字列の拡張(テンプレート文字列) 配列の拡張(変換配列タイプ) 関数の拡張(拡張演算子) オブジェクトの拡張(同値等価アルゴリズム) データタイプ(Symbol) を追加します.データ構造(Map) を追加します. for…ofサイクル Promiseオブジェクト Generator関数 Classを導入する モジュールシステム を導入する. async関数[ES 7] を導入する.==等しい演算子は、比較時に自動的にデータタイプ変換 を行います.==厳格等しい演算子は、比較時に暗黙的なタイプ変換を行いません. Object.is同値等しいアルゴリズムは、==に基づいて0とNaN特別処理 を行う. BabelはJSコンパイラで、ES 6文法変換器のセットを持参して、JSコードを変換します.これらのトランスコーダは、開発者に最新のJS文法(ES 6/ES 7)を事前に使用させ、ブラウザのすべての互換性を待つ必要はない. Babelのデフォルトは新しいJSシンタックス(syntax)だけを変換して、新しいAPIを変換しません.
テンプレート文字列(JavaScriptのための単純な文字列補間機能を提供しています.)、矢印関数(オペレータの左は入力のパラメータです.右は操作と戻りの値Input=>outputputです.)、for-of(データを遍歴するための配列の値です.)、argmentsオブジェクトは不定パラメータとデフォルトパラメータによって完璧に置き換えられます.ES 6はpromiseオブジェクトを仕様に組み込み、オリジナルのPromiseオブジェクトを提供します.letとconstコマンドを追加して変数を宣言します.ブロックレベルのスコープが追加されました.letコマンドは実際にブロックレベルのスコープを追加しました.ES 6は、varコマンドとfunctionコマンド宣言のグローバル変数が、グローバルオブジェクトの属性に属すると規定しています.letコマンド、constコマンド、classコマンド宣言のグローバル変数は、グローバルオブジェクトの属性ではありません.また、モジュールの概念を導入します.
Promiseに対する理解
Promiseの構造関数
var promise = new Promise(function(resolve, reject) {
if (...) { // succeed
resolve(result);
} else { // fails
reject(Error(errMessage));
}
});
promise.then(onFulfilled, onRejected)
Promiseとは?
let a = 1;
const PI = 3.141592654;
var [a, b, c] = [1, 2, 3];
var sum =
ドル{a+b};
Array.from($('li'));
[1, 2].push(...[3, 4, 5]);
Object.is(NaN, NaN);
let uid = Symbol('uid');
let set = new Set([1, 2, 2, 3]);
for(let val of arr){};
var promise = new Promise(func);
function* foo(x){yield x; return x*x;}
class Foo {}
export default func;
async function asyncPrint(value, ms) {
await timeout(ms);
console.log(value)
}
Object.is()と元の比較操作子=====の違い?+0 === -0 //true
NaN === NaN // false
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true
Babelとは何ですか