제공된 색인 값이 음수이면 배열 끝에서부터의 오프셋 값으로 사용됩니다.
출처 : MDN 표준 내장 객체, Array.prototype.indexOf() 설명 중
두 번째 주소를 만들기 위해 기준이 되는 주소에 더해진 값
100 + x
이해를 위해 간단한 수식으로 표현하자면 100이 기준일 때 더해지는 x값이 오프셋이다.
오프셋을 이용하여 주소를 나타내는 것을 상대주소 지정방식이라 한다.
MDN 문장을 예로 들면
indexOf의 두 번째 인자로 주어진 음수 값들을 배열 끝에서부터 더해나간다는 의미이다.
배열의 끝이 기준이 되고 -1과 -2 등 두 번째 인자 값은 오프셋 값이다.
-1인 경우 [9] 부분만을, -2인 경우 [9,9], -3인 경우 [2,9,9]가 결과 주소를 반영된 비교 범위이다.
const array = [2, 9, 9];
array.indexOf(9, -2); //1
array.indexOf(9, -1); //2
array.indexOf(2, -2); //-1