第1章ES6初步

目標(biāo)

  • ES6簡(jiǎn)介
  • ECMAScript 和 JavaScript 的關(guān)系
  • let命令
  • 塊級(jí)作用域
  • const命令
  • 字符串的擴(kuò)展-模板字符串

ES6簡(jiǎn)介

ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript 語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在2015年6月正式發(fā)布了。它的目標(biāo),是使得 JavaScript 語(yǔ)言可以用來(lái)編寫(xiě)復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言。

ECMAScript 和 JavaScript 的關(guān)系

類似接口和實(shí)現(xiàn)類的關(guān)系

ECMAScript 和 JavaScript 的關(guān)系是,前者是后者的規(guī)格,后者是前者的一種實(shí)現(xiàn)(另外的 ECMAScript 方言還有 Jscript 和 ActionScript)。日常場(chǎng)合,這兩個(gè)詞是可以互換的。

let命令

特點(diǎn):1、在塊級(jí)作用域內(nèi)有效 2、不存在變量提升 3、不可被重復(fù)定義

1、在塊級(jí)作用域內(nèi)有效的例子

       <script type="text/javascript">
        {
            var a = 1;
            let b = 2;
        }
        console.log(a);
        console.log(b);
    </script>
image.png

2、不存在變量提升

    <script type="text/javascript">
        console.log(a);
        var a=10;
        console.log(b);
        let b=20;
    </script>
image.png

3、不可以被重復(fù)定義

    <script type="text/javascript">
                let username="a";
                let username="b";
                console.log(username);
    </script>
image.png

上面代碼中的LET改成var是允許的

塊級(jí)作用域

為什么需要塊級(jí)作用域?
ES5只有全局作用域和函數(shù)作用域,沒(méi)有塊級(jí)作用域,這帶來(lái)很多不合理的場(chǎng)景。
一種場(chǎng)景,內(nèi)層變量可能會(huì)覆蓋外層變量。

    <script type="text/javascript">
        var tmp = new Date();
        function f() {
          console.log(tmp);
           if (false) {
            var tmp = "hello world";
          } 
        }
        f(); // undefined
    </script>

上面代碼中,函數(shù)f執(zhí)行后,輸出結(jié)果為undefined,原因在于變量提升,導(dǎo)致內(nèi)層的tmp變量覆蓋了外層的tmp變量。

const命令

    <script type="text/javascript">
        const i=120;
        i=123;
        console.log(i);
    </script>
image.png

字符串的擴(kuò)展-模板字符串

作用:簡(jiǎn)化字符串拼接,
寫(xiě)法:變量的寫(xiě)法類似el表達(dá)式 ${},最外面不用單引或者雙引,用`(tab鍵上面的字符)

    <script type="text/javascript">
        let obj={username:"張三",age:18};
        let str=`我的名字叫${obj.username},我今年${obj.age}歲`;
        console.log(str);
    </script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 目標(biāo) ES6簡(jiǎn)介 ECMAScript 和 JavaScript 的關(guān)系 let命令 塊級(jí)作用域 const命令 ...
    C_Z_Q_閱讀 173評(píng)論 0 1
  • [TOC] 參考阮一峰的ECMAScript 6 入門(mén)參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,914評(píng)論 0 1
  • 1, ECMAScript 和 JavaScript 的關(guān)系 ECMAScript 和 JavaScript 的關(guān)...
    小王子__閱讀 1,471評(píng)論 0 1
  • 1. Babel 轉(zhuǎn)碼器 Babel 是一個(gè)廣泛使用的 ES6 轉(zhuǎn)碼器,可以將 ES6 代碼轉(zhuǎn)為 ES5 代碼,從...
    Metallica_d8b1閱讀 285評(píng)論 0 0
  • 當(dāng)親情和金錢(qián)擺在你面前,你會(huì)選擇哪個(gè)呢? 這就仁者見(jiàn)仁智者見(jiàn)智了。 就好比過(guò)年回不回家?大部分會(huì)選擇有錢(qián)沒(méi)錢(qián)回家過(guò)...
    A超級(jí)口香糖閱讀 1,015評(píng)論 0 0

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