JS 새로운 기능

김한솔·2023년 5월 22일
0

Mutations(변이) 방지

많은 프로그래밍 언어들은 뮤테이션을 금지하거나 권장하지 않는다.
->원본 변수의 수정된 복사본을 만드는 방식을 권장.

찾기 어렵고 디버깅하기 어려운 다양한 버그로 이어질 수 있기 때문이다.

JavaScript에서는 메소드들이 변이에 대해 일관적이지 않기 때문에
어떤 메소드가 변이를 일으키는지 알고 사용하는 것이 중요하겠다.

toReversed

const x = [1,2,3];
const y = x.reverse();
y.push(0)

위와 같이 코드를 작성하면 원본 배열인 x자체의 변이가 일어난다.

const x = [1,2,3];
const y = [...x];
y.reverse();
y.push(0)

변이를 방지하기 위해서는 배열을 복사해서 새로운 배열을 사용하는 방식을 사용할 수 있었다.

새로운 JS 메소드를 사용하면 더 직관적으로 코드를 작성할 수 있다.

const x = [1,2,3];
const y = x.toReversed();
y.push(0)

toReversed 메소드를 사용하면 원본 배열을 변이시키지 않고 새로운 복사본을 반환해준다.

toSorted,toSpliced도 같은 방식으로 사용이 가능하다.

with

배열 내부항목의 변경

const x =[1,2,3,4];
x[3] = 'd'
console.log(x) // [1,2,3,'d']

위와 같은 방식으로 할 경우 마찬가지로 원본 배열이 수정된다.

const x = [1,2,3,4];
const z = x.with(3,'d');

with 메소드를 사용하면 원본 배열을 수정하는 대신 수정된 값이 포함된 복사본을 반환한다.

findLast/findLastIndex

findLast와 findLastIndex의 경우
기존에 있던 find /findIndex가 첫 번째 항목을 찾았던 것과 달리
마지막 항목을 찾을 수 있는 메소드이다.

//출처: 노마드코더

profile
개린이입니다.

0개의 댓글