at()
메서드는 정수 값을 받아, 배열에서 해당 값에 해당하는 인덱스의 요소를 반환한다.
양수와 음수 모두 지정할 수 있고, 음수 값의 경우 배열의 뒤에서부터 인덱스를 센다.
at()
메서드의 존재가 대괄호 표기법을 부정하는 것은 아니다.
예를 들어array[0]
은 문제 없이 배열의 첫 요소를 반환한다.
그러나 맨 마지막 요소를 가져오고 싶을 때[length]
속성을 사용해
array[array.length - 1]
을 하는 대신, 짧게array.at(-1)
을 사용할 수 있다.
const numbers = [1, 2, 3, 4, 5, 6 ,7];
console.log(numbers.at(-1)); // 7
/* numbers.at(-1)과 numbers[numbers.length-1]은 동일하다. */
console.log(numbers.at(0)); // 1
at(index)
at의 매개변수 index는 배열에서 반환할 요소의 인덱스(위치)이다.
음수 값을 지정할 경우 배열의 마지막을 기준으로 한 인덱스이다.
즉, 배열 앞 대신 끝에서부터 위치를 계산합니다.
주어진 배열의 끝 값(요소)을 반환해주는 함수 만들기
const arrayLast = (array) => array.at(-1);
/* 위에서 만들어준 arrayLast 함수를 이용하여 사용해보기*/
const arr = ["banana", "orange", "lemon"];
console.log(arrayLast(arr)); // lemon
/* arr에 요소를 추가 후 arrayLast 함수를 이용하여 사용해보기 */
arr.push("apple");
console.log(arrayLast(arr)); // apple
at()을 활용하여 배열의 끝 값 출력해주는 방법과 length 프로퍼티를 이용하여 출력하는 방법
const arr = ["banana", "orange", "lemon"];
console.log(arr.at(-1)); // lemon
console.log(arr[arr.length -1]); // lemon
/* 위의 방법 둘다 같은 결과를 출력해준다. 모든 방법이 유효하긴 하지만 at() 메서드의
간결성과 가독성을 확인할 수 있다. */