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 上...