ES6的學習記錄(二)

2021-09-11 04:31:30 字數 1428 閱讀 5655

3.箭頭函式

什麼叫箭頭函式了,直接上**:

//es5定義函式

function test()

//es6箭頭函式

()=>

一般來說箭頭函式的優點是簡便,可讀性更好,但是箭頭函式有乙個最大的有點,解決了this指向的問題

普通函式一般指向的是呼叫函式的物件,沒有呼叫時或者匿名函式指向window或者undefined;而箭頭函式是在定義的時候就繼承了定義函式的物件

var a=11;

function test()

}; var x=new test()()

var a=11;

function test();

var x=new test()()

感受這兩段**的差異  (參考:

4.函式傳參

es6增加了乙個新東西(...),三個點,比如:

function test(a,b,...args)

test(10,20,30,40,70)

可以看到args輸出了乙個陣列

三個點不僅可以作為傳參,還可以用於替代陣列,比如:

var arr1=[1,2,3];

var arr2=[4,5,6];

var arr=[...arr1,...arr2]; //相當於[1,2,3,4,5,6]

console.log(arr);

還有一點,es6函式可以設定預設值,比如:

//新版

function test(a,b=1)

test(1);

//舊版

function test1(a,b)

test1(1);

5.解構賦值

解構賦值的特點:

1.左右兩邊的結構必須一致

let [a,b,c]=[1,2,3];

let = ;

console.log(a,b,c);

console.log(m,n);

注意:   物件的解構與陣列有乙個重要的不同。陣列的元素是按次序排列的,變數的取值由它的位置決定;而物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。

2.右邊必須是合法的結構

let  = ;
出現異常,雖然結構看起來一樣,但是右邊並不是合法的物件結構

3.定義和申明必須要在一起

let [a,b,c];

[a,b,c]=[1,2,3];

出現異常,定義和申明必須在一起

ES6學習筆記 二

function fun url,timeout 60,callback url為必須引數,其餘為可選。es5 嚴格模式下arguments物件將不會發生變化,es6中如果引數使用了預設引數,則無論是否使用嚴格模式,arguments物件都將與es5嚴格模式保持一致 物件將與命名引數分離 funct...

es6學習筆記(二)

一.let命令宣告變數 1.用法 let宣告的變數只在所處位置的 塊內有效 example1.js for var i 0 i 2 i console.log i i console.log a a console.log b b 執行結果會報錯 2.不存在變數提公升 example1.js con...

ES6學習筆記 二

1.set 基本用法 es6提供了新的資料結構set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值 set本身是乙個建構函式,用來生成set資料結構 const s new set 2,3,5,4,5,2,2 foreach x s.add x for let i of s 2 3 5 4 上...