Bạn có thể sử dụng get
và set
trong nguyên cảo, mà biên dịch thành Object.defineProperties
.
Đây là một tính năng ECMAScript 5, vì vậy bạn không thể sử dụng nó nếu bạn đang nhắm mục tiêu ES3 (mặc định cho trình biên dịch). Nếu bạn vui lòng nhắm mục tiêu ES5, hãy thêm --target ES5
vào lệnh của bạn.
nguyên cảo:
class MyClass {
private view;
get View() { return this.view; }
set View(value) { this.view = value }
}
Biên dịch để:
var MyClass = (function() {
function MyClass() { }
Object.defineProperty(MyClass.prototype, "View", {
get: function() {
return this.view;
},
set: function (value) {
this.view = value;
},
enumerable: true,
configurable: true
});
return MyClass;
})();
Nhưng nếu bạn muốn kiểm soát toàn bộ thiết lập đếm được và cấu hình - bạn vẫn có thể sử dụng liệu Object.defineProperties
mã.
vâng, tôi đang tìm cách tùy chỉnh thuộc tính 'có thể đếm', 'có thể định cấu hình' và 'có thể ghi' để khớp với mã hiện có của tôi. – Spongman