var deprecated = function(fn) {
console.warn("Deprecated!");
fn.apply(this, arguments);
};
then var oldMethod = deprecated(function() {
});
In ES7 you'll be able to call decorators with the new syntax: @deprecated
function oldMethod {
}
But nothing stopping you writing modular code now. The complaint about 'I have to write console.warn everywhere' seems to have an obvious answer; 'no you don't'.As for other issues with ES6+7, the new syntax trades a few characters for a lack of clarity about what is actually happening.