JavaScript для TypeScript: Intellisense и динамические члены
У меня есть объект JavaScript, который динамически позволяет членам быть привязанными в качестве свойств доступа к экземплярам объекта:
Источник
function DynamicObject(obj) {
for (var prop in obj) {
Object.defineProperty(this, prop, {
get: function () { return obj[prop]; },
set: function (value) { obj[prop] = value; },
enumerable: true,
configurable: false
});
}
}
использование
var obj = new DynamicObject({
name: "John Smith",
email: "[email protected]",
id: 1
});
когдаobj
члены параметра конструктора связаны сobj
в качестве свойств доступа. Они появляются в intellisense
Я хотел бы знать, возможно ли моделировать такого рода поведение (в том числе с intellisense) в TypeScript?
Заметки
Когда вы запускаете этот код в TypeScript, нет смысла, потому что всеany
Таким образом, TypeScript на самом деле не знает, что происходит.