ES6新特徵總結與介紹——聲明與表達式

阮一峯的ES6標準入門比較長,最近發現菜鳥教程的ES6教程寫的還(xie)不(de)錯(duan),準備讀一讀。數組

1、let與const

1. let

  • 代碼塊內有效
  • 不能重複聲明
  • 不存在變量提高

2. const

  • 聲明常量
  • 對於複雜類型,變量指向的內存地址實際上是保存了一個指向實際數據的指針,因此const只能保證指針是固定的,至於指針指向的數據結構變不變就沒法控制了。

2、解構賦值

1. 數組模型的解構(Array)

let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3
複製代碼

2. 對象模型的解構(Array)

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// foo = 'aaa'
// bar = 'bbb'
複製代碼

3、展開運算符(剩餘運算符)

1. 展開語法

將數組和對象展開爲其中的各個元素。bash

let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
let arr3 = [...arr1, ...arr2]
//arr3 = [ 0, 1, 2, 3, 4, 5]

let z = { a: 3, b: 4 };
let n = { ...z };
n // { a: 3, b: 4 }
複製代碼
2. 剩餘運算符

剩餘參數語法容許咱們將一個不定數量的參數表示爲一個數組。數據結構

function(a, b, ...rest) {
  // ...
}
複製代碼

剩餘參數和 arguments對象之間的區別主要有三個:函數

  1. 剩餘參數只包含那些沒有對應形參的實參,而 arguments 對象包含了傳給函數的全部實參。
  2. arguments對象不是一個真正的數組,而剩餘參數是真正的數組。
  3. arguments對象還有一些附加的屬性 (如callee屬性)。
相關文章
相關標籤/搜索