ES6基礎

ES6介紹

ECMAScript 6.0(以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式發布了也叫ECMAScript 2015。它的目標,是使得 JavaScript 語言可以用來編寫復雜的大型應用程序,成為企業級開發語言

let和const

let

let是塊級作用域 ,函數內部使用let定義后,對函數外部無影響,只在let命令所在的代碼塊內有效。

let c = 3;
console.log('函數外let定義c:' + c);//輸出c=3
function change(){
let c = 6;
console.log('函數內let定義c:' + c);//輸出c=6
} 
change();
console.log('函數調用后let定義c不受函數內部定義影響:' + c);//輸出c=3

const

const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。而且必須初始化。

const b = 2;//正確
// const b;//錯誤,必須初始化 
console.log('函數外const定義b:' + b);//有輸出值
// b = 5;
// console.log('函數外修改const定義b:' + b);//無法輸出 

let、const、var區別

  • const 和let不存在變量提升
  • let和var定義的是變量,可作更改;const定義的是常量,不可更改。
  • const和let的作用域為{};var的作用域為function(函數中)

ES6變量的解構賦值

數組的解構

let a = 1;
let b = 2;
let c = 3;

ES6 允許寫成下面這樣。
let [a, b, c] = [1, 2, 3];

對象的解構

let {d,e,f} = {d:3,e:4,f:5}
console.log(d,e,f);     // 3  4  5 

對象的擴展

屬性簡寫

const foo = 'bar';
const baz = {foo};
baz // {foo: "bar"}

// 等同于
const baz = {foo: foo};

只有當定義的變量和對象中的屬性值一致時才可寫成{foo: foo}的格式,否則將會改變對象的值,直接影響后續代碼的執行。

方法簡寫

const a = {
     method: function() {
          return "Hello!";
     }
};
// 等同于
const a = {
     method() {
           return "Hello!";
    }
};

函數的擴展

ES6允許使用“箭頭”=>定義函數

var f = v => v;

// 等同于
var f = function (v) {
      return v;
};

如果箭頭函數的代碼塊部分多于一條語句,就要使用大括號將它們括起來,并且使用return語句返回。

var sum = (num1, num2) => { return num1 + num2; }
注意點:
1. 函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。
2. 不可以當作構造函數,也就是說,不可以使用new命令,否則會拋出一個錯誤。
3. 不可以使用arguments對象,該對象在函數體內不存在。如果要用,可以用rest參數代替。
4. 在箭頭函數中,this是固定的。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、新的聲明方式 以前我們在聲明時只有一種方法,就是使用var來進行聲明,ES6對聲明的進行了擴展,現在可以有三種...
    令武閱讀 1,031評論 0 7
  • this的應用及指向問題 this是Javascript語言的一個關鍵字。它代表函數運行時,自動生成的一個內部對象...
    azure_1122閱讀 246評論 0 0
  • ECMAScript 6學習網站:http://es6.ruanyifeng.com/ 1.let和var的比較 ...
    賈里閱讀 338評論 0 0
  • 最近在學習React,示例代碼都由ES6所書寫,所以對于ES6,不得不好好研究一下新的語法。這篇文章就對自己現在經...
    2Youngg閱讀 382評論 0 1
  • 雖說我是個無肉不歡的人,但不讓我吃蔬菜,也會渾身難受。之前還在上班的時候,每次的外賣里都是大葷,蔬菜很少或者賣相很...
    聽禪落雪閱讀 14,706評論 4 6