at(index) truy cập phần tử và hỗ trợ chỉ số âm.
javascript
const arr = [10, 20, 30]
arr.at(0) // 10
arr.at(-1) // 30 — phần tử cuối
arr.at(-2) // 20
arr.at(5) // undefined
'hello'.at(-1) // 'o'So với cách viết cũ:
javascript
arr[arr.length - 1] // dài, và sai nếu arr là biểu thức phải tính lại
getItems().at(-1) // gọn, chỉ gọi getItems() một lần
getItems()[getItems().length - 1] // gọi hai lần — lỗi thật hay gặpVì sao arr[-1] không chạy: trong JavaScript, chỉ số của mảng thực chất là key kiểu chuỗi của object. arr[-1] tra key '-1', một thuộc tính thường không tồn tại, nên trả undefined.
javascript
arr[-1] = 'x'
arr.length // 3 — length không đổi
arr[-1] // 'x' — chỉ là thuộc tính thường, không phải phần tử mảng
Object.keys(arr) // ['0', '1', '2', '-1']Đây là bẫy phỏng vấn quen thuộc, và cũng là lý do at() được thêm vào.
Hoạt động với Array, String, TypedArray. Hỗ trợ từ 2022 trên mọi trình duyệt hiện đại và Node 16.6+.