ES6相關語法

es6.ruanyifeng.com/#docs/introes6

一、let和const命令

  • let
    • let 定義變量,變量不能夠再次定義,但能夠改變其值
    • 具備塊級做用域
    • 沒有變量提高,必須先定義再使用
    • let聲明的變量不會壓到window對象中,是獨立的
  • const
    • 使用const關鍵字定義常量
    • 常量是不可變的,一旦定義,則不能修改其值
    • 初始化常量時,必須給初始值
    • 具備塊級做用域
    • 沒有變量提高,必須先定義再使用
    • 常量也是獨立的,定義後不會壓入到window對象中

二、解構賦值

  • 數組的解構賦值
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a, b, c); // 輸出 1 2 3
複製代碼
  • 對象的解構賦值
let { foo, bar } = {foo: 'aaa', bar: 'bbb'};
console.log(foo, bar); // aaa, bbb

let {a, c} = {a: 'hello', b: 'world'};
console.log(a, c); // hello, undefined
複製代碼
  • 字符串的解構賦值
  • 函數參數的解構賦值

三、箭頭函數

// 非箭頭函數
let fn = function (x) {
    return x * 2;
}
// 箭頭函數,等同於上面的函數
let fn = (x) => {
    return x * 2;
}
複製代碼
  • 箭頭函數的特色
    • 形參只有一個,能夠省略小括號
    • 不須要 function 關鍵字來建立函數
    • 省略 return 關鍵字
    • 函數體能夠省略大括號,而且表示返回函數體的內容
    • 內部沒有arguments
    • 內部的this指向外部做用域中的this
    • 不能做爲構造函數

四、Promise

當異步請求變多時,就會成爲回調地域,Promise是異步編程的一種解決方案,解決開發者對異步回調的煩惱。編程

一個 Promise 對象有三個狀態,而且狀態一旦改變,便不能再被更改成其餘狀態。數組

  • pending,異步任務正在進行。
  • resolved (也能夠叫fulfilled),異步任務執行成功。
  • rejected,異步任務執行失敗。

五、模板字符串

模板字符串,優化字符串拼接,ES5經過反斜槓''來作多行字符串,ES6用反引號'`'直接搞定。bash

// bad
const foo = 'this is a' + example;

// good
const foo = `this is a ${example}`;

複製代碼

六、擴展運算符···

七、類(class)

includes() 函數用來判斷一個數組是否包含一個指定的值,若是包含則返回 true,不然返回false。異步

八、for···of和for···in

for···of用來遍歷數組異步編程

for···in用來遍歷對象函數

相關文章
相關標籤/搜索