欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ES6 javascript中class類(lèi)的get與set用法實(shí)例分析

 更新時(shí)間:2017年10月30日 09:19:41   作者:專(zhuān)注前端30年  
這篇文章主要介紹了ES6 javascript中class類(lèi)的get與set用法,結(jié)合具體實(shí)例形式分析了ES6中類(lèi)的get與set關(guān)鍵字使用方法,需要的朋友可以參考下

本文實(shí)例講述了ES6 javascript中class類(lèi)的get與set用法。分享給大家供大家參考,具體如下:

與 ES5 一樣, 在 Class 內(nèi)部可以使用get和set關(guān)鍵字, 對(duì)某個(gè)屬性設(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屬性有對(duì)應(yīng)的存值函數(shù)和取值函數(shù), 因此賦值和讀取行為都被自定義了。

存值函數(shù)和取值函數(shù)是設(shè)置在屬性的 descriptor 對(duì)象上的。

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屬性的描述對(duì)象上面, 這與 ES5 完全一致。

更多相關(guān)內(nèi)容可查看本站專(zhuān)題:《ECMAScript6(ES6)入門(mén)教程》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《javascript面向?qū)ο笕腴T(mén)教程

希望本文所述對(duì)大家基于ECMAScript的程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論