Решил я сделать свой тип данных, customArray, который наследуют Array и расширяет его функционал.
В es6 выглядит примерно так (вот
фидл):
class customArray extends Array {
constructor(arr) {
super(arr);
this.arr = arr;
}
get count() {
return this.arr.reduce((acc, n) => acc + n);
}
}
let arr = new customArray([1, 2, 3, 4]);
Но когда Babel все это дело транспилирует, то ничего не работает. Это вообще возможно написать без es6?
Решениеclass customArray {
constructor(arr) {
this.arr = arr;
}
get count() {
return this.arr.reduce((acc, n) => acc + n);
}
}
let arr = new customArray([1, 2, 3, 4]);