2018-12-13 Typescript私有属性的封闭和安全

2018-12-13  本文已影响0人  rub1cky

Typescript

面向对象, 保证私有属性的封闭性和安全性。

封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。

class foo{
    private _bar: boolean = false
    get bar():boolean {
        return this._bar
    }
    set bar(b: boolean) {
        this._bar = b
    }
}

let f = new foo()
console.log(f.bar)
f.bar = true
console.log(f.bar)

编译后:

var foo = /** @class */ (function () {
    function foo() {
        this._bar = false;
    }
    Object.defineProperty(foo.prototype, "bar", {
        get: function () {
            return this._bar;
        },
        set: function (b) {
            this._bar = b;
        },
        enumerable: true,
        configurable: true
    });
    return foo;
}());
var f = new foo();
console.log(f.bar);
f.bar = true;
console.log(f.bar);
上一篇下一篇

猜你喜欢

热点阅读