[TIL] Javascript - Array.with()

[https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/with]

Array.prototype.with()

구문

array.with(index, value);

매개변수

index 배열을 변경할 0 기반 인덱스이며 정수로 변환되는 값

  • 음수 인덱스의 배열의 끝부터 계산함, — index < 0인 경우 index + array.length가 사용됩니다.
  • 정규화 후 인덱스가 범위를 벗어나면, RangeError가 발생합니다.

value 주어진 인덱스에 할당할 값

반환 값

index의 요소 값이 value로 대체된 새로운 배열

설명

with() 메서드는 배열에서 주어진 인덱스의 값을 변경한다. 그리고 주어진 인덱스에 있는 요소가 주어진 값으로 대체된 새 배열을 반환한다. 원래 배열은 수정되지 않는다. 이를 통해 조작을 수행하는 동안 배열 메서드를 연속으로 이어서 호출 할 수 있다. 와 너무 좋은ㄷㅔ…..!

with() 메서드는 희소 배열을 생성하지 않습니다. 만약 원래 배열이 희소 배열인 경우 빈 슬롯은 새로운 배열에서 undefined으로 대체됩니다. 희소 배열이란, 배열 안에 값이 비어있는 인덱스를 가지고 있는 것을 말한다. ex) [1, , 3, 4, 5]

with() 메서드는 제네릭 메서드이다. 이 메서드는 this 값에 length 속성과 정수 키 속성 만을 필요로 한다.

예제

const arr = [1, 2, 3, 4, 5];
console.log(arr.with(2, 6)); // [1, 2, 6, 4, 5]
console.log(arr); // [1, 2, 3, 4, 5]