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

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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容