ECMA6新增語法(待續...)

塊級做用域:  ES6容許你使用塊級做用域,不過目前大多數的ES6語法只容許在嚴格模式下使用("use strict」 )。html

1 let關鍵字數組

    做用:聲明變量,一個花括號就是一個做用域(每一個花括號內就是全新變量).瀏覽器

    特色:不在進行聲明提高,在塊做用域外沒法訪問變量,和const同樣只能聲明一次.函數

    關鍵字:let , const,function,class ES6下均可以以塊爲做用域 借鑑:https://blog.csdn.net/kittyjie/article/details/50337031this

//var 聲明的變量做用在定時器外的函數裏的
for(var i=0; i<5; i++){ 
   setTimeout(function(){ 
       alert(i); 
   },1000);
}

//由於let以花括號做爲做用域,for每次循環的時候都會從新let一個變量 理解let在for循環中:https://zhuanlan.zhihu.com/p/51966830
//let變量做用在括號,且外部沒法訪問 
for(let i=0; i<5; i++){ 
   setTimeout(function(){ 
       alert(i); 
   },1000);
}

 

2 const聲明常量spa

      做用:定義一個常量.net

      特色:不會聲明提高,以塊爲做用域,值沒法更改,只能聲明一次.指針

//將對象設置爲常量,它的值是能夠修改的
//由於咱們常量的值,只是在棧內存中保存的指向對象的指針 數據類型的棧和堆內存:http://www.javashuo.com/article/p-wsixnxkc-hr.html
const obj = {a:1,b:2,c:3}
obj.a = 100;
console.log(obj.a); //10

 

3 箭頭函數code

     做用:經過簡潔的格式聲明一個函數htm

  特色:比傳統函數格式簡潔(省略了function,return,單個形參時括號),且this指向是上級函數的指向

  

//普通函數聲明格式
var a = function(){
   return 1+1;
}
//箭頭函數聲明格式
var a = x =>{
  1 + 1;
}
//多個參數
var a = (x,y,z) =>{
  1 + 1;
}

4 Destructuring解構

      做用:能夠經過解構方式來取值

//通常定義變量寫法
var x=10,y=20,z=30;

//解構賦值容許你給多個變量賦值
let [x,y,z] = [10,20,30]; 
let [x,[a,b],y] = [10,[15,18],20];
這並非在定義數組,而是經過等號兩邊的結構匹配,進行賦值。

//解構賦值容許你少取一個值:
let [x,y] = [10,20,30]; //結果x=10,y=20 
let [x,[a,b],y] = [10,[5],20]; //結果x=10,a=5,y=20,b=undefined
瀏覽器並不會報錯,依然賦值成功。

//能夠使用對象不按照順序取值
var {id,name,age} = {name:'yt',age:30,id=30}
//用途
//能夠方便的交換兩個變量的值
[a,b] = [b,a];
//能夠一次爲多個變量取值 [a,b] = () =>{ return [1,2] }
//對象格式能夠不考慮取值順序 {a,b,c} = {b:1,a:2,c:3}
//從數組或對象的某一項 var {a:NewName} = obj; //對象 var [0:NewName] = arr; //數組

總結:數組格式的能夠批量取值,對象格式的能夠打亂順序取值

5 字符串的一些方法

      做用:ECMA6字符串能夠更快捷的拼接字符串

//快捷的字符串拼接
var str = `我是ECMA${變量、表達式}字符串`

//字符串中的換行不會報錯
var str = `
不會報錯!!
`

6 數組的一些方法

    Array.from(僞數組)  //能夠將僞數組轉換爲數組

 Array.copyWithin(被替換元素下標,截取開始下標,截取結束下標); //複製元素替換元素(一條龍服務)

 Array.find(function(value,index,arr){ return value > 10 })  //和過濾相似,只找一次符合條件的元素. 

    findIndex(function(value, index, arr){}) //和find相似,不過返回的是符合一次要求的元素的下標

7 Object.assign

    Object.assign({a:1},{b:2},{b:4,c:3}); //將相同的屬性合併,返回一個獨立屬性對象

8 第七種數據類型Symbol

9 Set和Map集合

10 Map集合,即映射

相關文章
相關標籤/搜索