ES6語法

聲明變量的方式

es6中新增兩種變量方式let和const,與var最大的區(qū)別是有了塊級作用與的概念,而且es6里會強制開啟嚴格模式(use strict),變量未聲明,不能引用。

  • let
    使用let注意以下幾點
    1、let不可以重復聲明變量
    2、let不允許提前聲明
    3、let存在塊級作用域
function fn1(){
    for(let i = 0;i<5;i++){
        console.log(i);  //打印0,1,2,3,4
    }
     console.log(i);// Uncaught ReferenceError: i is not defined  會報錯,
                                因為let 聲明的變量只在自己的塊級作用域里有效
}
fn1();
  • const
    使用const注意幾點:
    1、const聲明值類型(string,number,undefined,boolean)不可以修改;
    2、const聲明引用類型(object,function,null)可以修改;
    3、const聲明時必須賦值;
function fn2(){
      //值類型
     const pi = 123;
     console.log(pi); //報錯,Assignment to constant variable.
    //引用類型
        const k = {
              a:1
          }
      console.log(const.b = 2)  //可以改變引用類型
         
}
fn2();

解構(gòu)賦值:是一個Javascript表達式,這使得可以將值從數(shù)組或?qū)傩詮膶ο筇崛〉讲煌淖兞恐?。?/h2>
  • 數(shù)組解構(gòu)賦值
let [a,b] = [1,2];
console.log(a,b) //1,2
  • 字符串解構(gòu)賦值
let {length : len} = 'hello';
len // 5
  • 布爾解構(gòu)賦值
var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true 
  • 數(shù)值解構(gòu)賦值
var {wtf} = NaN;
console.log(wtf);
// undefined
  • 對象解構(gòu)賦值
({a, b} = {a:1, b:2});
console.log(a); // 1
console.log(b); // 2
  • 函數(shù)參數(shù)解構(gòu)賦值
function move({x, y} = { x: 0, y: 0 }) {
     return [x, y];
 }
 
 console.log(move({x: 3, y: 8})); // [3, 8]
 console.log(move({x: 3})); // [3, undefined]
 console.log(move({})); // [undefined, undefined]
 console.log(move()); // [0, 0]

字符串模板

//es5寫法
var name = 'gongjialin';
var age = 20;
var reslut = "我的名字是"+name+"年齡是"+age;
console.log(reslut);  //我的名字是gongjialin,年齡是20
es6寫法
var name = 'gongjialin';
var reslut1 = `我的名字是${name}` ; //此時的${name}就是變量
console.log(reslut1);  //我的名字是gongjialin

反引號中的字符串可以隨意換行
反引號中可以隨意插入變量的值和表達式

箭頭函數(shù)

1、箭頭函數(shù)可以簡寫到一個函數(shù)參數(shù)和一條語句
2、箭頭函數(shù)的this被調(diào)用者的上一層對象
3、箭頭函數(shù)沒有arguments,可以用...rest參數(shù)替代

...

1、在函數(shù)中叫做rest參數(shù),剩余的參數(shù),全部放在最后,如果函數(shù)存在rest參數(shù),必須放在最后面
2、在數(shù)組中叫做可擴展運算符,將數(shù)組展開

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 以下內(nèi)容是我在學習和研究ES6時,對ES6的特性、重點和注意事項的提取、精練和總結(jié),可以做為ES6特性的字典;在本...
    科研者閱讀 3,278評論 2 9
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運大...
    HetfieldJoe閱讀 3,132評論 3 37
  • 阮一峰的博客 http://es6.ruanyifeng.com/ 一 ES6簡介 ECMAScript 6.0(...
    ai搞搞閱讀 1,838評論 0 0
  • 特別說明,為便于查閱,文章轉(zhuǎn)自https://github.com/getify/You-Dont-Know-JS...
    殺破狼real閱讀 628評論 0 0
  • 1.小文件讀取 2.大文件讀取 3.遍歷目錄 4.讀文件事件的監(jiān)聽
    lmem閱讀 377評論 0 0

友情鏈接更多精彩內(nèi)容