Я создаю экземпляр класса и при помощи декоратора пытаюсь удалить свойство:
function format(target: Object, propertyKey: string) {
delete this[propertyKey]
}
class User {
@format
name: string
constructor(name: string) {
this.name = name
}
print(): void {
console.log(this.name)
}
}
let tom = new User('Tom')
tom.print()
Но в результате обращения к методу print() в консоль всё таки выводится значение свойство name. Объясните пожалуйста как правильно его удалить. Чтобы невозможно было при помощи print() его вывести
DEMO