Основное различие между Array.prototype.at() и квадратными скобками заключается в том, как они обрабатывают отрицательную индексацию.
Стандартная индексация квадратными скобками принимает только положительные индексы. Чтобы получить доступ к последнему элементу массива, ты должен вручную рассчитать его позицию:
arr[arr.length - 1]
Этот подход работает, но становится многословным и подверженным ошибкам, особенно когда ты обращаешься к элементам с конца массива.
at()Метод at() изначально поддерживает отрицательную индексацию, позволяя тебе отсчитывать с конца массива:
arr.at(-1) — возвращает последний элементarr.at(-2) — возвращает предпоследний элементЭто делает код значительно чище и читаемее.
at() поддерживает её изначально; квадратные скобки — нетat() лаконичнее при обращении к элементам с конца массиваundefined: оба возвращают undefined для индексов за пределами границconst arr = [1, 2, 3];
arr[arr.length - 1]; // 3 — квадратные скобки
arr.at(-1); // 3 — метод at()
at() при обращении к элементам с конца массива — код получается чищеМетод at() поддерживает отрицательную индексацию для доступа к элементам с конца массива, в то время как bracket notation требует ручного расчёта с использованием arr.length - 1 для той же цели.
Новый — ещё не проверен сообществом
Вы