国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

let 和 const 的坑

wenzi / 3490人閱讀

摘要:上面的代碼并不意味著變量沒有被提升。中所有的定義都會被提升,即。但是,,在實例階段,會被初始化為。而,,則沒有被初始化,所以在執(zhí)行階段的時候,在定義它們的代碼運行前訪問會導致。

來自twitter的問題:https://twitter.com/mxstbr/st...

const someFunc = (something) => {
  switch (something) {
    case "abc":
      const items = ["asdf"]
      return items
    case "xyz":
      const items = ["bla"]
      //    ↑
      //    Babel complains here about a
      //    "Duplicate declaration "items""
      //    (see below)
      //    Why??
      return items
  }
}

會報錯的原因是代碼中只有一個作用域,即花括號({})包擴的部分,解決的方法:

const someFunc = (something) => {
  switch (something) {
    case "abc": { // 增加塊級作用域
      const items = ["asdf"]
      return items;
    } // 
    case "xyz": { // 增加塊級作用域
      const items = ["bla"]
      return items;
    } //
  }
}

上面的例子對let也適用。

hoist

(function() {
    x; // undefined
    y; // Reference error: y is not defined

    var x = "local";
    let y = "local";
}());

上面的代碼并不意味著變量y沒有被提升。

JavaScript 中所有的定義都會被提升(hoist),即var, let, const, function, function*, class。

但是var,function,function*在“實例階段”(instantiated),會被初始化為undefined。

而let,const,class則沒有被初始化(emporal dead zone),所以在執(zhí)行階段的時候,在定義它們的代碼運行前訪問會導致ReferenceError。

spec:Let and Const Declarations

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84025.html

相關(guān)文章

  • node調(diào)用微信JS SDK遇到的坑

    摘要:廢話不多說來說說用做服務端調(diào)用微信遇到的坑。微信都有說明不做贅述。因為以后微信返回的值才會改變,并且微信規(guī)定每天限定的訪問次數(shù)如果使用庫的話優(yōu)勢可以減少對微信服務器訪問的次數(shù)提升性能。 這幾天要做一個H5的頁面,之前沒做。對我來說也是一次對新領(lǐng)域的接觸。廢話不多說來說說用node做服務端調(diào)用微信JS SDK遇到的坑。首先講一下思路: 微信JS-SDK說明文檔 綁定域名 引入JS文件 ...

    Godtoy 評論0 收藏0
  • vue better-scroll 遇到的坑

    摘要:先看效果介紹一個簡單的靜態(tài)頁面主要是使用做橫向滾動,點擊標簽滾動到相應位置,以及滾到相應位置后對應標簽顯示紅色。 先看效果 showImg(https://segmentfault.com/img/bVbqAdC?w=374&h=626); 介紹 一個簡單的靜態(tài)頁面主要是使用 better-scroll 做橫向滾動,點擊標簽滾動到相應位置,以及滾到相應位置后對應標簽顯示紅色。開發(fā)過程中...

    yiliang 評論0 收藏0
  • 總結(jié)前端走 gRPC 協(xié)議所遇到的坑

    摘要:坑點一不支持瀏覽器環(huán)境首先你應該了解,它的目標是將編譯文件所生成的文件夾包含和文件。坑點二所提供的方法只支持回調(diào)函數(shù)以上是官方給出的例子,發(fā)送一個標準請求。 坑點一:ts-protoc-gen 不支持瀏覽器環(huán)境 首先你應該了解 ts-protoc-gen,它的目標是將編譯 .proto 文件所生成的文件夾包含 .js 和 .d.ts 文件。 但是... 請不要將 ts-protoc...

    Eminjannn 評論0 收藏0
  • 移動端 Modal 組件開發(fā)雜談

    摘要:網(wǎng)上谷歌一下滾動穿透關(guān)鍵字其實可以發(fā)現(xiàn)很多種解決方案,每個方案也各有優(yōu)缺點,但我們選擇的解決方案是團隊的一姐一篇移動端體驗優(yōu)化的博文中得到的啟示博文地址花式提升移動端交互體驗。 Vant 是有贊開發(fā)的一套基于 Vue 2.0 的 Mobile 組件庫,在開發(fā)的過程中也踩了很多坑,今天我們就來聊一聊開發(fā)一個移動端 Modal 組件(在有贊該組件被稱為 Popup )需要注意的一些坑。 在...

    learn_shifeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<