ES5_6_7(2)——ES6

1. ECMA6

ECMA6的兼容性,各個瀏覽器有不同程度的支持,包括chrome和firefox都有部分不支持。

IE8:

1.1 let和const

ES6擴展了兩個用來聲明變量的關鍵字,分別是 let 和 const,其和 var 關鍵字有不同之處

let和const:

1. 塊級作用域 {...} 有效

2. 不會做預處理,因此沒有變量的提升

3. 同名變量不能重複定義

4. const 的值不可變,即常量,let 的值可變

5. let 適用於塊級作用域中定義新的變量,並只在此塊中有效。const 適用於定義常量

1.2 變量的結構賦值

ES6擴展了變量的解構賦值,使得變量賦值更爲簡化。其最大應用就是函數多返回值和變量值交換。

用法:

數組:var [a, b] = [22, 'pkbai'];  console.info(a, b)

對象:var {name, age} = { name: 'pkbai', age: 22 }; console.info(name, age);

1.3 各個數據類型擴展

數值型:

Number.isFinite(i)       // 判斷數值是否有窮

Number.isNan(i)         // 參數是否 Nan

Number.isInteger(i)    // 參數是否整數

Number.parseInt(i)     // 將參數轉換爲整數

Math.trunc(i)              // 去除數值類型的小數點,沒有四捨五入

字符串:


xxx.contains(str);        // 字符串是否包含指定字符串

xxx.startsWith(str);     // 字符串是否以指定字符串開頭

xxx.endsWith(str);      // 字符串是否以指定字符串結尾

xxx.repeat(count);      // 字符串重複 count 遍

模板字符串:ES6擴展了方便的模板字符串,可以用來替換原來麻煩的字符串拼接操作。模板字符串用 `...` 來定義。而拼接的變量則用 ${...} 來替換。譬如:對象 var pk = { name: 'pkbai', age: 22 }; 打印出你的姓名和年齡

1. 非模板字符串方式

console.info("我是:" + pk.name + ", 今年:" + pk.age);

2. 模板字符串方式

console.info(`我是:${pk.name}, 今年:${pk.age}`);

對象:

1. 增強的對象寫法和方法寫法

對象增強:

var name, age = 'pkbai', 22;

非增強:var obj = { name: name, age: age };

增強:var obj = { name, age }

方法增強:

非增強:var obj = { test: function() { // ... } }

增強:var obj = { test() { // ... } }

2. Object.is(v1, v2);

3. Object.assign(target, source1, source2..);  // 將 source... 的值賦給 target

4. __proto__屬性顯示操作

數組:

Array.from( v );             // 將僞數組對象或可遍歷對象轉換爲真正的數組對象

Array.of( v1, v2, v3 );    // 將一系列值轉爲數組

find( function(value, index, arr) { return true } );            // 找到第一個滿足條件的元素

findIndex( function(value, index, arr) { return true } );   // 找到第一個滿足條件的元素所對應的下標

keys();         // 返回包含所有下標的可迭代對象

values();      // 返回包含有值的可迭代對象

entries();     // 返回包含有下標和值的可迭代對象

函數:

1. 箭頭函數:只有一個參數時不用加小括號 ( ),函數體只有一條語句時不用加大括號 { },其默認帶 return

() => // code...

param => { // code... }

(param1, param2) => { // code... }

var fun = function(v) { return v + 3; }

var fun2 = v = v + 3;

2. 形參的默認值

function point( x = 1, y = 2) { this.x = x; this.y = y; }

3. 可變參數

function add(... values) {

    let sum = 0;

    for (value of values) {

        sum += value;

    }

    return sum;

}

1.4 Set/Map集合

類比 Java 中的 Set 和  Map 集合的操作

1.5 For..of 遍歷

簡單如一

1.5 Promise

promise

1.5 class類

class


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章