ES6 javascript中class類的get與set用法實例分析
本文實例講述了ES6 javascript中class類的get與set用法。分享給大家供大家參考,具體如下:
與 ES5 一樣, 在 Class 內(nèi)部可以使用get和set關(guān)鍵字, 對某個屬性設(shè)置存值函數(shù)和取值函數(shù), 攔截該屬性的存取行為。
class MyClass {
constructor() {
// ...
}
get prop() {
return 'getter';
}
set prop(value) {
console.log('setter: ' + value);
}
}
let inst = new MyClass();
inst.prop = 123;
// setter: 123
inst.prop
// 'getter'
上面代碼中, prop屬性有對應的存值函數(shù)和取值函數(shù), 因此賦值和讀取行為都被自定義了。
存值函數(shù)和取值函數(shù)是設(shè)置在屬性的 descriptor 對象上的。
class CustomHTMLElement {
constructor(element) {
this.element = element;
}
get html() {
return this.element.innerHTML;
}
set html(value) {
this.element.innerHTML = value;
}
}
var descriptor = Object.getOwnPropertyDescriptor(
CustomHTMLElement.prototype, "html");
"get" in descriptor // true
"set" in descriptor // true
上面代碼中, 存值函數(shù)和取值函數(shù)是定義在html屬性的描述對象上面, 這與 ES5 完全一致。
更多相關(guān)內(nèi)容可查看本站專題:《ECMAScript6(ES6)入門教程》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《javascript面向?qū)ο笕腴T教程》
希望本文所述對大家基于ECMAScript的程序設(shè)計有所幫助。
相關(guān)文章
詳解JavaScript如何準確獲取任意變量的數(shù)據(jù)類型
js是弱類型語言,或者說是動態(tài)語言,在定義變量時我們可以不提前聲明變量的類型,也可以在變量聲明后賦予不同類型的值。所以本文為大家詳解一下JavaScript如何準確獲取任意變量的數(shù)據(jù)類型,需要的可以參考一下2022-06-06
解析img圖片沒找到onerror事件 Stack overflow at line: 0
本篇文章主要介紹了img圖片沒找到onerror事件 Stack overflow at line: 0 需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12

