ES6中定義類和對(duì)象的方法示例
本文實(shí)例講述了ES6中定義類和對(duì)象的方法。分享給大家供大家參考,具體如下:
類的基本定義和生成實(shí)例:
// 類的基本定義和生成實(shí)例
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name;
}
}
// 生成一個(gè)實(shí)例
let g_parent = new Parent();
console.log(g_parent); //{name: "xiaxaioxian"}
let v_parent = new Parent('v') // 'v'就是構(gòu)造函數(shù)name屬性 , 覆蓋構(gòu)造函數(shù)的name屬性值
console.log(v_parent); // {name: "v"}
繼承
// 繼承
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name;
}
}
class Child extends Parent{
}
console.log('繼承',new Child()) // 繼承 {name: "xiaxaioxian"}
繼承傳遞參數(shù)
// 繼承傳遞參數(shù)
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name;
}
}
class Child extends Parent{
constructor(name = 'child'){ // 子類重寫name屬性值
super(name); // 子類向父類修改 super一定放第一行
this.type= 'preson';
}
}
console.log('繼承',new Child('hello')) // 帶參數(shù)覆蓋默認(rèn)值 繼承{name: "hello", type: "preson"}
ES6重新定義的ES5中的訪問器屬性
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name
}
get longName(){ // 屬性
return 'mk' + this.name
}
set longName(value){
this.name = value
}
}
let v = new Parent();
console.log('getter',v.longName) // getter mkxiaxaioxian
v.longName = 'hello';
console.log('setter',v.longName) // setter mkhello
類的靜態(tài)方法:
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name
}
static tell(){ // 靜態(tài)方法:通過類去調(diào)用,而不是實(shí)例
console.log('tell')
}
}
Parent.tell(); // tell
類的靜態(tài)屬性:
// 靜態(tài)屬性
class Parent{ //定義一個(gè)類
constructor(name='xiaxaioxian'){
this.name= name
}
static tell(){ // 靜態(tài)方法:通過類去調(diào)用,而不是實(shí)例
console.log('tell') // tell
}
}
Parent.type = 'test'; // 定義靜態(tài)屬性
console.log('靜態(tài)屬性',Parent.type) // 靜態(tài)屬性 test
let v_parent = new Parent();
console.log(v_parent); // {name: "xiaxaioxian"} 沒有tell方法和type屬性
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- ES6數(shù)組與對(duì)象的解構(gòu)賦值詳解
- ES6新特性六:promise對(duì)象實(shí)例詳解
- ES6學(xué)習(xí)教程之對(duì)象的擴(kuò)展詳解
- ES6 迭代器與可迭代對(duì)象的實(shí)現(xiàn)
- ES6知識(shí)點(diǎn)整理之對(duì)象解構(gòu)賦值應(yīng)用示例
- ES6 Promise對(duì)象概念與用法分析
- ES6學(xué)習(xí)筆記之字符串、數(shù)組、對(duì)象、函數(shù)新增知識(shí)點(diǎn)實(shí)例分析
- ES6學(xué)習(xí)教程之對(duì)象字面量詳解
- ES6 對(duì)象的新功能與解構(gòu)賦值介紹
- ES6 Promise對(duì)象的應(yīng)用實(shí)例分析
- JS面向?qū)ο缶幊獭狤S6 中class的繼承用法詳解
- ES6對(duì)象操作實(shí)例詳解
相關(guān)文章
OpenLayers3實(shí)現(xiàn)地圖顯示功能
這篇文章主要為大家詳細(xì)介紹了OpenLayers3實(shí)現(xiàn)地圖顯示功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
關(guān)于導(dǎo)入excel時(shí)js轉(zhuǎn)換時(shí)間的正確方式
這篇文章主要給大家介紹了關(guān)于導(dǎo)入excel時(shí)js轉(zhuǎn)換時(shí)間的正確方式,以及js讀取excel中日期格式轉(zhuǎn)換問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09
原生js仿jquery實(shí)現(xiàn)對(duì)Ajax的封裝
大家都知道jquery在我們?nèi)粘i_發(fā)中的使用頻率非常高,但jquery說到底還是對(duì)js的封裝,我們不能光會(huì)使用,只有知道了其中的遠(yuǎn)離才能更好的使用,所以這篇文章主要介紹的是原生js仿jquery實(shí)現(xiàn)對(duì)Ajax封裝的方法。2016-10-10
JavaScript逆向調(diào)試技巧總結(jié)分享
當(dāng)我們抓取網(wǎng)頁端數(shù)據(jù)時(shí),經(jīng)常被加密參數(shù)、加密數(shù)據(jù)所困擾,如何快速定位這些加解密函數(shù),尤為重要,下面這篇文章主要給大家介紹了關(guān)于JavaScript逆向調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2022-06-06
微信小程序button標(biāo)簽open-type屬性原理解析
這篇文章主要介紹了微信小程序button標(biāo)簽open-type屬性原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
JavaScript 原型鏈學(xué)習(xí)總結(jié)
在JavaScript中,一切都是對(duì)像,函數(shù)是第一型2010-10-10
微信小程序?qū)崿F(xiàn)消息框彈出動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)消息框彈出動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06

