摘要:關于的入門了解新增模板字符串為提供了簡單的字符串插值功能箭頭函數操作符左邊為輸入的參數,而右邊則是進行的操作以及返回的值。將對象納入規范,提供了原生的對象。增加了和命令,用來聲明變量。
關于ES6的入門了解
新增模板字符串(為JavaScript提供了簡單的字符串插值功能)、箭頭函數(操作符左邊為輸入的參數,而右邊則是進行的操作以及返回的值Inputs=>outputs。)、for-of(用來遍歷數據—例如數組中的值。)arguments對象可被不定參數和默認參數完美代替。ES6將promise對象納入規范,提供了原生的Promise對象。增加了let和const命令,用來聲明變量。增加了塊級作用域。let命令實際上就增加了塊級作用域。ES6規定,var命令和function命令聲明的全局變量,屬于全局對象的屬性;let命令、const命令、class命令聲明的全局變量,不屬于全局對象的屬性。。還有就是引入module模塊的概念
對Promise的理解
依照 Promise/A+ 的定義,Promise 有四種狀態:
pending: 初始狀態, 非 fulfilled 或 rejected.
fulfilled: 成功的操作.
rejected: 失敗的操作.
settled: Promise已被fulfilled或rejected,且不是pending
另外, fulfilled 與 rejected 一起合稱 settled
Promise 對象用來進行延遲(deferred) 和異步(asynchronous ) 計算
Promise 的構造函數
構造一個 Promise,最基本的用法如下:
var promise = new Promise(function(resolve, reject) { if (...) { // succeed resolve(result); } else { // fails reject(Error(errMessage)); } });
Promise 實例擁有 then 方法(具有 then 方法的對象,通常被稱為thenable)。它的使用方法如下:
promise.then(onFulfilled, onRejected)
接收兩個函數作為參數,一個在 fulfilled 的時候被調用,一個在rejected的時候被調用,接收參數就是 future,onFulfilled 對應 resolve, onRejected 對應 reject
什么是 Promise ?
Promise 就是一個對象,用來表示并傳遞異步操作的最終結果
Promise 最主要的交互方式:將回調函數傳入 then 方法來獲得最終結果或出錯原因
Promise 代碼書寫上的表現:以“鏈式調用”代替回調函數層層嵌套(回調地獄)
ECMAScript6的新特性
塊級作用區域 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);
新增數據類型(Symbol) let uid = Symbol("uid");
新增數據結構(Map) let set = new Set([1, 2, 2, 3]);
for...of循環 for(let val of arr){};
Promise對象 var promise = new Promise(func);
Generator函數 function* foo(x){yield x; return x*x;}
引入Class(類) class Foo {}
引入模塊體系 export default func;
引入async函數[ES7]
async function asyncPrint(value, ms) { await timeout(ms); console.log(value) }
Object.is() 與原來的比較操作符 ===、== 的區別?
== 相等運算符,比較時會自動進行數據類型轉換
=== 嚴格相等運算符,比較時不進行隱式類型轉換
Object.is 同值相等算法,在 === 基礎上對 0 和 NaN 特別處理
+0 === -0 //true NaN === NaN // false Object.is(+0, -0) // false Object.is(NaN, NaN) // true
什么是 Babel ?
Babel 是一個 JS 編譯器,自帶一組 ES6 語法轉化器,用于轉化 JS 代碼。
這些轉化器讓開發者提前使用最新的 JS語法(ES6/ES7),而不用等瀏覽器全部兼容。
Babel 默認只轉換新的 JS 句法(syntax),而不轉換新的API。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89408.html
摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...
摘要:前言正則表達式時處理字符串中常用的手法,本文以簡單的方式,快速展示了中正則相關的基礎知識點。文末還提供了幾個簡單的正則相關面試題。接下來是正則部分,注意后面的并不匹配,也就是比如,實際匹配的值是和,在和后面加上,就完成了預期。 前言:正則表達式時處理字符串中常用的手法,本文以簡單的方式,快速展示了JavaScript中正則相關的基礎知識點。文末還提供了幾個簡單的正則相關面試題。個人總結...
摘要:前端培訓初級階段語法變量值類型運算符語句前端培訓初級階段內置對象函數基礎內容知識我們會用到。模塊定義加載模塊繼承中的繼承依賴于原型鏈繼承。 前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,現在前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術水平,打牢基礎知識的中心思想,我們開課啦(每周四)。 該文為前...
摘要:前言月份開始出沒社區,現在差不多月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了一般來說,差不多到了轉正的時候,會進行總結或者分享會議那么今天我就把看過的一些學習資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區,現在差不多9月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了!一般來說,差不多到了轉正的時候,會進行總結或者分享會議!那么今天我就...
閱讀 3095·2021-10-13 09:40
閱讀 3945·2021-09-22 15:51
閱讀 1493·2021-09-22 15:48
閱讀 1060·2021-09-06 15:00
閱讀 1790·2019-08-30 15:43
閱讀 2356·2019-08-29 18:35
閱讀 1667·2019-08-29 16:18
閱讀 3612·2019-08-29 12:49