es6 Class 不存在變數提公升

2021-08-15 07:22:56 字數 611 閱讀 5441

類不存在變數提公升(hoist),這一點與 es5 完全不同。

new

foo();

// referenceerror

class

foo{}

上面**中,es6foo類使用在前,定義在後,這樣會報錯,因為 es6 不會把類的宣告提公升到**頭部。這種規定的原因與下文要提到的繼承有關,必須保證子類在父類之後定義。

;

class

barextends

foo

}

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

ES6 Class語法介紹

參考文章 ecmascript 6 入門 概述 基本上,es6 的class可以看作只是乙個語法糖,它的絕大部分功 能,es5 都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。舉個栗子 es5 function point x,y point.protot...

簡單理解 es6 class

類即物件 es6 除錯最簡單的方法 直接在node控制台執行js,完全不需要考慮瀏覽器相容性而去安裝babel等編譯器的去編譯後再除錯 先舉個例子 class a start 複製 乙個類就這麼產生了,只要new一下,這個類就可以被用了 let b new a 複製 可能這個類將會有很多地方要使用,...

ES6 Class基本用法

es6提供了更接近傳統語言的寫法,引入了class 類 這個概念,作為物件的模板。通過class關鍵字,可以定義類。基本上,es6的class可以看作只是乙個語法糖,它的絕大部分功能,es5都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。1.我們先用建構函...