站長資訊網
最全最豐富的資訊網站

es6的class有沒有變量提升

es6的class沒有變量提升。在es5中class存在變量提升,可以先使用再定義類,而在es6中,不會把類的聲明提升到頭部,先使用在定義的話會產生報錯,因此不能先使用再定義,es6的class也就沒有變量提升。

es6的class有沒有變量提升

本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。

es6的class有沒有變量提升

class不存在變量提升

因為ES6不會把類的聲明提升到代碼頭部,所以需要先定義再使用。

但是ES5就不一樣,ES5存在變量提升,可以先使用,然后再定義。

// ES5可以先使用再定義,存在變量提升 new A(); function A(){ } // ES6不能先使用再定義,不存在變量提升 會報錯 new B(); // B is not defined class B{ }

類不存在變量提升(hoist),這一點與 ES5 完全不同。

new Foo(); // ReferenceError class Foo {}

上面代碼中,ES6 Foo類使用在前,定義在后,這樣會報錯,因為 ES6 不會把類的聲明提升到代碼頭部。這種規定的原因與下文要提到的繼承有關,必須保證子類在父類之后定義。

{   let Foo = class {};   class Bar extends Foo {   } }

上面的代碼不會報錯,因為Bar繼承Foo的時候,Foo已經有定義了。但是,如果存在class的提升,上面代碼就會報錯,因為class會被提升到代碼頭部,而let命令是不提升的,所以導致Bar繼承Foo的時候,Foo還沒有定義。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
精品72久久久久久久中文字幕| 国产福利在线观看精品| 精品日本一区二区三区在线观看 | 青青青亚洲精品国产| 国产精品永久免费10000| 久久国产精品77777| 中文无码亚洲精品字幕| 69久久夜色精品国产69小说| 久9热免费精品视频在线观看| 国产精品视频一区二区噜噜| 亚洲精品你懂的在线观看| 中文字幕在线久热精品| 国产偷国产偷高清精品| 久久久精品无码专区不卡| 国产免费久久精品丫丫| 国产三级精品三级| 三级精品视频在线播放| 91精品全国免费观看青青| 国内精品国产成人国产三级| 91麻豆精品国产自产在线观看一区| 久久久久这里只有精品 | 日韩电影免费在线观看中文字幕| 国内成人精品亚洲日本语音| 国产综合精品一区二区| 国产高清在线精品免费软件| 国产精品毛片在线完整版| 国产国产成人久久精品杨幂| 国产精品R级最新在线观看| 国产精品一区电影| 亚洲av日韩综合一区在线观看| 日韩精品真人荷官无码| 日韩高清免费在线观看| 亚洲国产精品一区二区九九| 国产手机在线精品| 亚洲精品成人片在线观看精品字幕 | 在线观看国产精品普通话对白精品| 久久久99精品一区二区| 亚洲一区精品无码| 国产精品白浆在线观看免费| 99精品国产在热久久婷婷| 久久黄色精品视频|