ES6常考知識點

2021-10-22 21:36:20 字數 1007 閱讀 9723

**1. 變數宣告提公升?let與var的區別?**
(1)var 和 function 的提公升,let 和 const不提公升;let有塊級作用域。

《一》

let a = 'the window';

let obj = ;

}};alert(obj.getobjname()());

如果實用的是var宣告的變數a的話,輸出結果是預期的』the window』,

但是現在使用let宣告,輸出的時候卻是undefined.

let a = 'the window';

alert(window.a); // undefined

var a = 'the window';

alert(window.a); // the window

var宣告的全域性變數,缺省會新增到window下,作為window的乙個屬性值存在.

使用let在宣告變數的時候明顯不同, 不會作為window的屬性, 單純的就是宣告了乙個塊級變數

上面的函式中,實際呼叫是 alert(this.a) , 此時this指向window,而window下沒有對應屬性a , 所以輸出結果undefined.

《二》

var a = 10;

(function())();

//結果:輸出undefined

function中有var a = 100;

宣告會提公升到function最開頭,但賦值發生在最後。

上面的**等價於:

var a = 10;

(function())();

列印a的時候,a並沒有在function內賦值,所以是undefined

(2) 暫時性死區。建立、初始化、賦值,var是建立後立即初始化未undefined,let是建立後等賦值時初始化。未初始化就使用就會報錯。(參考方方的這篇文章

ES6知識點總結

面向過程和物件導向的對比 面向過程 物件導向 物件 物件是由屬性和方法組成的 類 class 在 es6 中新增加了類的概念,可以使用 class 關鍵字宣告乙個類,之後以這個類來例項化物件 物件導向的思維特點 抽取 抽象 物件共用的屬性和行為組織 封裝 成乙個類 模板 對類進行例項化,獲取類的物件...

ES6知識點簡單總結

let宣告的變數只能在所處遇到的快級有效。不存在變數提公升。暫時性死區,不受外部 影響。在乙個大括號中使用let關鍵字宣告的變數才具有塊級作用域,var關鍵字不具有這個特點 具有塊級作用域。使用const關鍵字宣告的常量必須賦值。常量賦值後值不能更改。varletconst 函式級作用域 塊級作用域...

es6常用知識點總結

1.定義變數的方式 let 1 沒有變數提公升 var具有變數提公升 即在當前作用域的最上面定義這個變數 但不賦值 例 console.log x var x 20 顯示undefined console.log m let m 100 報錯 2 let不可以重複宣告 例 var x 10 var ...