常用es6語法總結

2022-03-21 01:34:49 字數 1695 閱讀 8344

一.let ,var,const

var沒有塊級作用域,定義後在當前閉包中都可以訪問,如果變數名重複,就會覆蓋前面定義的變數,並且也有可能被其他人更改。

for (var i = 0; i < 3; i++) , 0);

}

結果會列印3次3,原因是var 沒有塊級作用域,而let有自己的塊級作用域,所以不會出現這種情況。

使用 let 定義的變數在大括號的外面是訪問不到的。使用let的好處是

實現塊級作用域

if(true)

console.log(name);// referenceerror: name is not defined

不會汙染全域性物件

if(true)

console.log(window.name);

結果 undefined

let 重複定義會報錯,不存在變數的預解釋

const可以去宣告乙個常量,常量一旦賦值就不能再修改了

這種情況是可以改的:

const names = ['zfpx1'];

names.push('zfpx2');

console.log(names);

不同的塊級作用域可以多次定義

const a = "0";

console.log(a)

二.解構

var [name,age] = ['zfpx',8]; console.log(name,age);//zfpx  8]

let [x, [y], z] = [1, [2.1, 2.2]];

console.log(x, y, z);

let [x, [y,z]] = [1, [2.1, 2.2]];

console.log(x,y,z);

let [json,arr,num] = [,[1,2],3];

console.log(json,arr,num);//1 2.1 undefined 1 2.1 2.2 [ 1, 2 ] 3

3.省略負值

let [, , x] = [1, 2, 3];

console.log(x);

4.解構物件

var obj = ;

//物件裡的name屬性的值會交給name這個變數,age的值會交給age這個變數

var = obj;

//物件裡的name屬性的值會交給myname這個變數,age的值會交給myage這個變數

let = obj;

console.log(name,age,myname,myage); //zfpx 8 zfpx 8

四。字串

模板字串用反引號(數字1左邊的那個鍵)包含,其中的變數用${}括起來

var name = 'zfpx',age = 8;

let desc = `$ is $ old!`;

console.log(desc);

//所有模板字串的空格和換行,都是被保留的

var str = ``;

console.log(str);

常用ES6基礎語法總結

用自己易於理解的語言總結的,歡迎各位大佬指點 1 用來宣告塊級作用域 let宣告的變數只在其塊級作用域內有效,而var通常在函式作用域或全域性作用域內有效塊級作用域 指用花括號包裹起來形成的語句塊,如if for while迴圈語句等。if true console.log a a is not d...

ES6語法總結

1 物件的寫法 es5中物件 es6中物件 注意這種寫法的屬性名稱和值變數是同乙個名稱才可以簡寫,否則要想es5那樣的寫法,例如 2 在物件中的方法的寫法 es5中物件 substrict function es6中物件 substrict 3 物件的匯出寫法 es5兩種形式 1 module.ex...

ES6常用語法總結

es6語法中,變數的宣告方式改變了,而新的宣告方式也帶來了一些新的特性,其中最重要的就是塊級作用域和不再具有變數提公升 我們都是到,用var宣告的變數會變成乙個全域性變數,但是用let和const申宣告的變數就只能在當前作用域使用,例如 console.log a 20 cosnole.log a ...