javaScript 中的 get set 方法

2018-07-14  本文已影响0人  菠菜东001

在 ES5 中 可以 使用 getter 和 setter 部分 改写 默认 操作, 但是 只能 应用 在 单个 属性 上, 无法 应用 在 整个 对象 上。 getter 是一 个 隐藏 函数, 会在 获取 属性 值 时调 用。 setter 也是 一个 隐藏 函数, 会在 设置 属性 值 时调 用。
当你 给 一个 属性 定义 getter、 setter 或者 两者都 有时, 这个 属性 会被 定义 为“ 访问 描述 符”( 和“ 数据 描述 符” 相对)。 对于 访问 描述 符 来说, JavaScript 会 忽略 它们 的 value 和 writable 特性, 取而代之 的 是 关心 set 和 get( 还有 configurable 和 enumerable) 特性。
辛普森(Kyle Simpson). 你不知道的JavaScript(上卷) (图灵程序设计丛书) (p. 117). 人民邮电出版社. Kindle 版本.

    var myObject = {

    // 给 a 定义 一个 getter

    get a() {

        return this._ a_;

    },

    // 给 a 定义 一个 setter

    set a( val) {

        this._ a_ = val * 2;

    }

};

上一篇 下一篇

猜你喜欢

热点阅读