В консоле браузера работает, а через файл не работает. Экземпляр класс MyCoolArray не имеет свои члены, а только прототипа Array...
class MyCoolArray extends Array {
first() { return this[0] };
last() { return this[this.length - 1] };
}
var a = new MyCoolArray( 1, 2, 3 );
a.first();
Блин, бабель ломает всю красоту. Может кто-нибудь из матерых знает, как его подстроить?
var MyCoolArray = function (_Array2) {
_inherits(MyCoolArray, _Array2);
function MyCoolArray() {
_classCallCheck(this, MyCoolArray);
return _possibleConstructorReturn(this, (MyCoolArray.__proto__ || Object.getPrototypeOf(MyCoolArray)).apply(this, arguments));
}
_createClass(MyCoolArray, [{
key: 'first',
value: function first() {
return this[0];
}
}, {
key: 'last',
value: function last() {
return this[this.length - 1];
}
}]);
return MyCoolArray;
}(Array);
var a = new MyCoolArray(1, 2, 3);
(3) [1, 2, 3]
0: 1
1: 2
2: 3
length: 3
__proto__: Array(0)
concat: ƒ concat()
...