您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何實現ES6的class語法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何實現ES6的class語法”這篇文章吧。
image
ES6 的 class 內部是基于寄生組合式繼承,它是目前最理想的繼承方式,通過 Object.create 方法創造一個空對象,并將這個空對象繼承 Object.create 方法的參數,再讓子類(subType)的原型對象等于這個空對象,就可以實現子類實例的原型等于這個空對象,而這個空對象的原型又等于父類原型對象(superType.prototype)的繼承關系
而 Object.create 支持第二個參數,即給生成的空對象定義屬性和屬性描述符/訪問器描述符,我們可以給這個空對象定義一個 constructor 屬性更加符合默認的繼承行為,同時它是不可枚舉的內部屬性(enumerable:false)
而 ES6 的 class 允許子類繼承父類的靜態方法和靜態屬性,而普通的寄生組合式繼承只能做到實例與實例之間的繼承,對于類與類之間的繼承需要額外定義方法,這里使用 Object.setPrototypeOf 將 superType 設置為 subType 的原型,從而能夠從父類中繼承靜態方法和靜態屬性
以上是“如何實現ES6的class語法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。