James Long (2013-12-10T00:39:07.000Z)
domenic at domenicdenicola.com (2013-12-10T02:50:12.755Z)
If you have an inner function that calls `super`, Traceur keeps track of the outer "this" and makes sure to call it with that. TypeScript does not do this. Is this correct? ```js class Bar extends Foo { nestedFunction() { function run() { return super.getX(); } return run(); } } ``` This code compiles to: ```js nestedFunction: function() { var $__0 = this; function run() { return $__superCall($__0, $__proto, "getX", []); } return run(); } ``` where `$__superCall` basically just does `$__proto["getX"].apply($__0, [])`. But note that it saved the outer `this` in `$__0` and called it with that.