В JavaScript можно сделать:
var a = {this: this}
но с сокращением свойств ES6 я получаю SyntaxError:
var b = {this}; // SyntaxError: this is a reserved identifier
Это не реальный случай использования, но мне просто интересно, какая разница между этими двумя. Я думал, что он должен сделать то же самое (создать новый объект или выбросить ошибку).
UPDATE:
Я запускаю этот пример в Firefox 42.0. Однако он работает в babel- node (он создает объект { this: {} }
без ошибок). Итак, какое правильное поведение?