Лично я не вижу большой проблемы с использованием вашего сокращенного синтаксиса.Любое влияние на производительность будет минимальным (и некоторые движки будут оптимизироваться соответствующим образом), поэтому оно сводится к личным предпочтениям.Есть несколько альтернатив, доступных для вас, хотя.Например, вы можете использовать ECMAScript 5-е издание Function.prototype.bind
, чтобы сократить его до чего угодно:
var sl = Function.prototype.call.bind(Array.prototype.slice);
var myArr = sl([1, 2, 3], 1);
//-> [ 2, 3 ]
И, конечно, bind
может быть реализовано в неподдерживаемых браузерах .
В поддерживаемых браузерах / средах вы также можете использовать Array.from
или оператор распространения для достижения тех же результатов:
// Array.from works with any iterable or array-like object
var myArr = Array.from(arrayLike);
// Spread operator works only with iterables:
var myArr = [ ...arrayLike ];
Если вы используете транспортер, такой как Traceur или Babel, он уже поддерживается.