摘要:方法如示例中定義的方法靜態(tài)方法使用關(guān)鍵字修飾的方法,允許通過(guò)類名直接調(diào)用靜態(tài)方法而無(wú)需實(shí)例化。
本文同步帶你入門 JavaScript ES6 (四),轉(zhuǎn)載請(qǐng)注明出處。
前面我們學(xué)習(xí)了:
for of 變量和擴(kuò)展語(yǔ)法
塊作用域變量和解構(gòu)
箭頭函數(shù)
本章我們將學(xué)習(xí) ES6 中的 類,了解類基本定義和繼承相關(guān)知識(shí)
一、概述ES6 中的 類 是基于原型的繼承語(yǔ)法糖,本質(zhì)上它是一個(gè) function 類型
1.1 原型聲明
function Car(engines) { this.engines = engines this.run = false } Car.prototype.startEngines = function() { console.log("running ...") this.run = true } const yourCar = new Car(1) yourCar.startEngines() const myCar = new Car(2) myCar.startEngines()
1.2 類聲明
class Car { constructor(engines){ this.engines = engines this.run = false } startEngines(){ console.log("running ...") this.run = true } } const yourCar = new Car(1) yourCar.startEngines() const myCar = new Car(2) myCar.startEngines() console.log(typeof Car)// function
使用類聲明是,需要先聲明類,然后才能訪問(wèn),否則拋出ReferenceError。這一點(diǎn)不同于函數(shù)聲,函數(shù)聲明會(huì)提升作用域,而無(wú)需事先聲明
二、 類聲明2.1 構(gòu)造方法
使用關(guān)鍵詞 constructor 聲明的方法,用于在創(chuàng)建和實(shí)例化類對(duì)象。
2.2 方法
如示例 1.2 中定義的 startEngines 方法
2.3 靜態(tài)方法
使用關(guān)鍵字 static 修飾的方法,允許通過(guò)類名直接調(diào)用靜態(tài)方法而無(wú)需實(shí)例化。
class Car { constructor(engines = 1) { this.engines = engines this.run = false } static startEngines() { console.log("running ...") this.run = true } } Car.startEngines()三、類的繼承
extends 關(guān)鍵詞用于創(chuàng)建基于另一個(gè)類的子類定義
當(dāng)子類存在構(gòu)造函數(shù)時(shí), 需要在使用 this 之前調(diào)用 super()
class Animal { constructor (name) { this.name = name } } class Dog extends Animal { constructor (name) { super(name) this.legs = 4; } run() { console.log("running ...") } } const lily = new Dog("lily") lily.run(); console.log( lily instanceof Dog)// trye console.log( lily instanceof Animal)// true四、為什么使用類
簡(jiǎn)化代碼
相比原型繼承代碼解構(gòu)更清晰
所有類方法在聲明類時(shí)聲明
五、注意的點(diǎn)實(shí)例化類,使用 new 關(guān)鍵詞
類方法之間無(wú)需使用逗號(hào)
子類構(gòu)造函數(shù)使用 super() 函數(shù)完成父類構(gòu)造函數(shù)調(diào)用
參考MDN 類
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90710.html
摘要:是國(guó)際組織于年月日發(fā)布的第六版,正式名為通常被成為或。二模版字面量提供一種簡(jiǎn)單實(shí)現(xiàn)表達(dá)式嵌套的字符串字面量操作,簡(jiǎn)而言之就是能夠以簡(jiǎn)單的方法實(shí)現(xiàn)字符串拼接操作。 本文同步 帶你入門 JavaScript ES6 (一),轉(zhuǎn)載請(qǐng)注明出處。 ES6: 是 ECMA國(guó)際組織于 2015 年 6 月 17 日發(fā)布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...
摘要:上一篇學(xué)習(xí)下一代語(yǔ)法一,我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明和語(yǔ)法新的字符串拼接語(yǔ)法模版字面量數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對(duì)象字面量簡(jiǎn)寫的相關(guān)知識(shí)。這便是擴(kuò)展運(yùn)算符的用途之一。 本文同步 帶你入門 JavaScript ES6 (二),轉(zhuǎn)載請(qǐng)注明出處。 上一篇學(xué)習(xí)下一代 JavaScript 語(yǔ)法: ES6 (一),我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明 let 和 const 語(yǔ)法、...
摘要:一概述集合是引入的新的內(nèi)置對(duì)象類型,其特點(diǎn)同數(shù)學(xué)意義的集合,即集合內(nèi)所有元素不重復(fù)元素唯一。數(shù)組集合對(duì)比數(shù)組和集合,數(shù)組可以加入重復(fù)數(shù)據(jù),而集合的所有元素是唯一的不允許重復(fù)。因此,適合臨時(shí)存放一組對(duì)象,以及存放跟對(duì)象綁定的信息。 本文同步帶你入門 帶你入門 JavaScript ES6 (五) 集合,轉(zhuǎn)載請(qǐng)注明出處。 前面我們學(xué)習(xí)了: for of 變量和擴(kuò)展語(yǔ)法 塊作用域變量和解構(gòu)...
摘要:上一章我們學(xué)習(xí)了遍歷和擴(kuò)展字符語(yǔ)法。本章我們主要學(xué)習(xí)中的箭頭函數(shù)箭頭函數(shù)更準(zhǔn)確來(lái)說(shuō)叫箭頭函數(shù)表達(dá)式。箭頭函數(shù)余普通函數(shù)功能相同,但語(yǔ)法差別比較大。 帶你入門 JavaScript ES6 (三) 本文同步帶你入門 JavaScript ES6 (三),轉(zhuǎn)載請(qǐng)注明出處。 上一章我們學(xué)習(xí)了 for of 遍歷和擴(kuò)展字符語(yǔ)法。本章我們主要學(xué)習(xí) ES6 中的箭頭函數(shù) 箭頭函數(shù) 更準(zhǔn)確來(lái)說(shuō)叫 箭...
摘要:初始化申明一個(gè)設(shè)置和獲取值使用設(shè)置新值或更新值申明設(shè)置值張三豐張三豐重復(fù)設(shè)置值如果鍵值存在則新值替換舊值張三豐使用獲取值,如果獲取的不存在返回分別獲取判斷是否存在使用判斷給定是否存在映射內(nèi)。 本文同步帶你入門 帶你玩轉(zhuǎn) JavaScript ES6 (六) - Map 映射,轉(zhuǎn)載請(qǐng)注明出處。 本章我們講學(xué)習(xí) ES6 中的 Map(映射)。上一章節(jié)我們學(xué)習(xí)了 [Set(集合)]()的相關(guān)...
閱讀 3950·2021-11-16 11:50
閱讀 947·2021-11-11 16:55
閱讀 3671·2021-10-26 09:51
閱讀 872·2021-09-22 15:03
閱讀 3439·2019-08-30 15:54
閱讀 3272·2019-08-30 15:54
閱讀 2483·2019-08-30 14:04
閱讀 928·2019-08-30 13:53