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