Adding to babel and traceur, Typescript is catching up with all ES6 features, so you can use destructors (discussed [here](https://github.com/Microsoft/TypeScript/issues/240)) in Typescript v1.5--beta
[1] http://en.wikipedia.org/wiki/Destructor_%28computer_programm...
I ask because I am genuinely interested, and haven't looked into it for a while, only passively in the context of Angular 2. The addition of attributes (@ tagging) is specifically interesting to me as I think it's a cleaner syntax visually than mounting methods onto a function after declaration.
With BabelJS, I can use flow to get type annotations, but not sure about meta annotations (like attribute declarations in .net)