У меня проблема с JS-кодом, сгенерированным компилятором TypeScript. Для класса, как это:TypScript не генерирует незарегистрированные сообщения
// Class
export class UserDTO {
Id: number;
FirstName: string;
LastName: string;
DateOfBirth: Date;
getFUllName(): string {
return this.FirstName + ' ' + this.LastName;
}
}
машинопись генерирует следующий код:
define(["require", "exports"], function(require, exports) {
// Class
var UserDTO = (function() {
function UserDTO() {
}
UserDTO.prototype.getFUllName = function() {
return this.FirstName + ' ' + this.LastName;
};
return UserDTO;
})();
exports.UserDTO = UserDTO;
});
//@ sourceMappingURL=TestClass.js.map
Приведенный выше код не содержит неиспользуемые (неиспользуемые) поля, но мне нужно их в каком-то «объект-объект к- «случай отображения». Можно ли заставить компилятор генерировать их всегда?
Я использую машинопись 0.9.1 из Visual Studio 2012. Вот мои параметры компилятора:
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>true</TypeScriptIncludeComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
Заранее спасибо за любые подсказки.
Да, это операционный - Я просто предположил, что можно авто-инициализировать их в JavaScript (какой-то компилятор?). Я проверил спецификацию генерации кода: http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf и кажется, что генерируются только члены с присвоениями. Я буду отмечать ваше сообщение как ответ, если нет лучшего варианта. – krlm
Я предполагаю, что (в Javascript), если вы установите член на 'null' (например,' this.FirstName = null'), который элемент исчезнет из мешка участника объекта? Что сделало бы это эквивалентом, не ссылаясь на них в первую очередь? –