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);