Your code transpiles to
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var MyArray = (function (_super) {
__extends(MyArray, _super);
function MyArray(n) {
_super.call(this, n);
}
return MyArray;
})(Array);
function initalize() {
var myArray = new MyArray(4);
var l = myArray.length; // l should be 4
}
And the problem is that you no longer deal with the original native type that has special properties. So your extended type - even if you would have succeeded - would be severely limited and confusing for others.
Details and gotchas can be found Axel Rauschmayer's article: http://www.2ality.com/2013/03/subclassing-builtins-es6.html