ES6 ES7語法及原理實現

2021-08-20 15:14:11 字數 1575 閱讀 7320

首先我們來看看小例子,這樣我們就知道差異了。

let name = 'zhangsan'

while (true)

console.log(name) //'zhangsan'

從上例子中,我們就已經發現了let的好處,let僅僅是作用於它所在的作用域當中,並不會影響到除作用域外的範圍。

一般作用於值不變的變數,也稱之為常量;
const pi = math.pi;// 圓周率

pi = 100; // 報錯

class

parent

doing()

}class

child

extends

parent

}let person = new child();

person .doing();// 我會賺錢

上面**首先用class定義了乙個「類」,可以看到裡面有乙個constructor方法,這就是構造方法,而this關鍵字則代表例項物件。簡單地說,constructor內定義的方法和屬性是例項物件自己的,而constructor外定義的方法和屬性則是所有例項物件可以共享的。

class之間可以通過extends關鍵字實現繼承,這比es5的通過修改原型鏈實現繼承,要清晰和方便很多。上面定義了乙個cat類,該類通過extends關鍵字,繼承了parent類的所有屬性和方法。

super關鍵字,它指代父類的例項(即父類的this物件)。子類必須在constructor方法中呼叫super方法,否則新建例項時會報錯。這是因為子類沒有自己的this物件,而是繼承父類的this物件,然後對其進行加工。如果不呼叫super方法,子類就得不到this物件。

es6的繼承機制,實質是先創造父類的例項物件this(所以必須先呼叫super方法),然後再用子類的建構函式修改this。

這是應該是es6最常用的乙個新特性了,箭頭函式的初衷其實是為了對this的引用,廢話不多說,我們看看例子就知道如何用了。

function

count

(i)let count = (i) => i*i;

一般被稱之為解構,主要作用於變數的賦值。

var cat = '貓',

dog = '狗';

var animal =

let cat = '貓',

dog = '狗';

let animal = ;

ES6 ES7 ES8語法總結

es6 1.var let const let,const具有塊級作用域,不具有變數提公升 const 用於不能被重新賦值的變數 2.箭頭函式 我們經常要給 函式給乙個父級的this 常用辦法就是 var self this 定義乙個變數接住他 使用 箭頭函式,this 將不會受到影響,可以直接用t...

ES5 及 ES6 陣列新增語法 及 迴圈

擴充套件運算子 var str 12345 var arr2 arr1 console.log arr2 將帶有length的 物件 類陣列 改為陣列 var obj 結果 4 如果沒有找到為 undefined findindex 方法返回陣列中滿足提供的測試函式的第乙個元素的索引。否則返回 1。...

ES6的語法及用法

1.結構賦值 解構賦值主要是針對於陣列和物件的 真實專案中,一般常用於把從伺服器獲取的json資料進行快速解構,賦值給對應的變數,幫助我們快速拿到對應的結果 let arr 100,200,300,400,500 let a,b,c,d arr console.log a,b,c,d 100 200...