經常使用的ES6方法html
ES6以後,新增了定義變量的兩個關鍵字,分別是let和const。面試
let和const都可以聲明塊級做用域,用法和var是相似的,let的特色是不會變量提高,而是被鎖在當前塊中。數組
實例-1:數據結構
惟一正確的使用方法:先聲明-->再訪問閉包
const 聲明常量,一旦聲明,不可更改,並且常量必須初始化賦值。 const雖然是常量,不容許修改默認賦值,但若是定義的是對象Object,那麼能夠修改對象內部的屬性:app
const和let的異同點 相同點:函數
不一樣點:this
塊級做用域的使用場景spa
在實際開發中,咱們選擇使用var、let仍是const,取決於咱們的變量是否是須要更新,一般咱們但願變量保證不被惡意修改,而使用大量的const。使用const聲明,聲明一個對象的時候,也推薦使用const,當你須要修改聲明的變量值時,使用let,var能用的場景均可以使用let替代。指針
二:函數
函數的默認參數 在ES5中,咱們給函數傳參數,而後在函數體內設置默認值,
在ES6中,咱們使用新的默認值寫法:
3、箭頭函數(=>)
箭頭函數中this的使用跟普通函數也不同,在JavaScript的普通函數中,都會有一個本身的this值,主要分爲:
普通函數:
箭頭函數:
箭頭函數的簡單理解
一、箭頭函數的左邊表示輸入的參數,右邊表示輸出的結果。
const s = a => a console.log(s(2)) // 2
二、在箭頭函數中,this屬於詞法做用域,直接由上下文肯定,對於普通函數中指向不定的this,箭頭函數中處理this無疑更加簡單,以下:
//ES5普通函數 function Man(){ this.age=22; return function(){ this.age+1; } } var cala=new Man(); console.log(cala())//undefined
//ES6箭頭函數 function Man(){ this.age=22; return () => this.age+1; } var cala=new Man(); console.log(cala())//23
ES6對象新增方法
合併具備相同屬性的對象