本文實例講述了ES6 javascript中class類的get與set用法。分享給大家供大家參考,具體如下:
與 ES5 一樣, 在 Class 內部可以使用get和set關鍵字, 對某個屬性設置存值函數和取值函數, 攔截該屬性的存取行為。
class MyClass {  constructor() {    // ...  }  get prop() {    return 'getter';  }  set prop(value) {    console.log('setter: ' + value);  }}let inst = new MyClass();inst.prop = 123;// setter: 123inst.prop// 'getter'上面代碼中, prop屬性有對應的存值函數和取值函數, 因此賦值和讀取行為都被自定義了。
存值函數和取值函數是設置在屬性的 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上面代碼中, 存值函數和取值函數是定義在html屬性的描述對象上面, 這與 ES5 完全一致。
更多相關內容可查看本站專題:《ECMAScript6(ES6)入門教程》、《JavaScript數組操作技巧總結》、《JavaScript字符與字符串操作技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript錯誤與調試技巧總結》及《javascript面向對象入門教程》
希望本文所述對大家基于ECMAScript的程序設計有所幫助。
新聞熱點
疑難解答