ES6

1 塊級做用域javascript

在es6以前,js只有全局做用域和函數做用域,let關鍵字引入了塊級做用域java

2 暫時性死區es6

var 聲明的變量能夠在聲明以前使用,至關於默認爲其聲明其值爲undifind;數組

let 聲明的變量,只能先聲明後使用,聲明以前使用會報錯函數

3 const命令this

const是用來定義常量,聲明的同時必須當即初始化。spa

4 解構賦值prototype

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

let{ a=2; b; c=4}={...{a:3,b:4}};//a=3;b=4;c=4

let { a=2; b; c=4}={a:3,b:4};//a=3;b=4;c=4

let [a,b,c,d,e]='hello'; 能夠理解爲模式匹配

5 模板字符串code

模板字符串採用反引號``標示,而且模板字符串中的空格、換行將在輸出時有所保留對象

let name='zhangsan';    `<span>${name}</span>`

${主體} 主體能夠是表達式、運算、對象屬性還能夠是函數,如果字符串將直接輸出這個字符串

6 含參函數的調用

function say(str){alert(str)}    say`hello`等同於say('hello')

7 函數function

function add(a=2,b=3){

  return a+b

}

add(3);//6

add(1,1);//2

爲函數的參數添加默認值,執行函數時若是不傳改參數,那麼就用默認值替換;

8 箭頭函數

var 變量名/函數名=(參數,參數)=>{代碼塊}

var f=v=>v

等同於 var f=function(v){return v}

var f=()=>5

等同於 var f=function(){return 5}

var sum=>(num1,num2)={num1+num2}

等同於 function sum(sum1,sum2){return num1+num2}

若是return的是一個對象,省略return的箭頭函數中右邊須要用()包起來

demo var obj=()=>({a:2})

等同於:

var obj=function(){retrun {a:2}}

9 數組的擴展

擴展運算符爲三個點...,將一個數組轉化爲參數序列,一般與函數一塊兒使用

function sum(num1,num2){return num1+num2}

sum(...[2,3]);//5

數組的合併[...arr1,...arr2]

字符串轉字符數組[...'hello'] //["h","e","l","l","o"]

10 數組的方法

10.1 Array.from()      用於將兩類對象轉化爲數組 1 類數組對象 2 實現Iterator接口的對象

若是參數是一個數組,直接返回一個同樣的數組,能夠接受第二個參數,與map的功能相似

let arr=Array.from([1,2,3],x=>x*x);//[1,4,9]

10.2 Array.of() 用於將一組值,轉化爲數組

基本上能夠用來替換Ayyay()或者ne

[3,4,5,30,50,100].find(fn,person);//此時fn中的this指向person,返回值是30;

另外這兩個方法均可以發現NaN,彌補了數組indexOf方法的不足

10.6 fill()

fill 方法用於用給定值填充一個數組

new Array(3).fill(5)[5,5,5]

new Array(3).fill('')    //['','','']

[2,3,4].fill(6)             //[6,6,6]

能夠有第二個 第三個參數,指定填充開始的位置和結束的位置

[2,3,4,5,6,7].fill(0,2,5)   //[2, 3, 0, 0, 0, 7]

若是填充的類型爲對象,那麼被賦值的是同一個內存地址的對象,而不是深拷貝的對象。

10.7 數組實例的entries() keys() values()

都返回一個遍歷器對象,能夠用for...of循環進行遍歷,惟一的區別是keys()是對鍵名的遍歷values()是對鍵值的遍歷 entries是對鍵值對的遍歷

let arr=['a','b','c'];

for(let index of arr.keys()){}

for(let elem of arr.values()){}

for(let [index,elem] of arr.entries()){}

10.7 includes()

Array.prototype.includes() 方法返回一個布爾值,表示某個數組是否包含給定的值;與indexOf()相似,includes能夠判斷NaN,indexOf不能夠

函數的length屬性 返回沒有指定默認值的參數的個數。若是指定默認值,length將失效

(function(a,b,c){}).length//3

(function(){}).length//0

(function(a=1,b=2){}).length//0

(function(a){}).length//1

(function(a,b=2){}).le
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息