angular/angular.js — pull request #9105 by jbedard (2014-09-16 03:49:22+00:00)
Title: refactor($parse): change 'this' to a $parse keyword instead of scope field

BREAKING CHANGE:
- $scope['this'] no longer exits on the $scope object
- $parse-ed expressions no longer allow chaining 'this' such as this['this'] or $parent['this'] or this.this.this.this
- 'this' in $parse-ed expressions can no longer be overridden, if a variable named 'this' is put on the scope it must be accessed using this['this']

I think this is a cleaner way of implementing 'this' which is more like other keywords such as `null` or `false`. But it is also a breaking change for anyone that did weird things such as `this.this.this.this` (and less weird: `$scope['this'] = ...`).