關於ES6的入門瞭解算法
新增模板字符串(爲JavaScript提供了簡單的字符串插值功能)、箭頭函數(操做符左邊爲輸入的參數,而右邊則是進行的操做以及返回的值Inputs=>outputs。)、for-of(用來遍歷數據—例如數組中的值。)arguments對象可被不定參數和默認參數完美代替。ES6將promise對象歸入規範,提供了原生的Promise對象。增長了let和const命令,用來聲明變量。增長了塊級做用域。let命令實際上就增長了塊級做用域。ES6規定,var命令和function命令聲明的全局變量,屬於全局對象的屬性;let命令、const命令、class命令聲明的全局變量,不屬於全局對象的屬性。。還有就是引入module模塊的概念數組
對Promise的理解promise
依照 Promise/A+ 的定義,Promise 有四種狀態:瀏覽器
Promise 的構造函數數據結構
var promise = new Promise(function(resolve, reject) { if (...) { // succeed resolve(result); } else { // fails reject(Error(errMessage)); } });
promise.then(onFulfilled, onRejected)
什麼是 Promise ?異步
ECMAScript6的新特性async
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 ?ui