오늘 알고리즘의 재귀 문제를 풀면서 배열을 다룰 일이 있었다. 배열에서 한 요소씩 잘라내는 것이 핵심이였는데, 익숙하게 사용하던 slice메서드가 생각나지 않아 shift를 썼다. 두 메서드 다 배열의 요소를 줄인다는 공통점이 있지만 어떤 것이 다른지 궁금해졌다. shift() 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다. 이 메서드는 배열의 길이를 변하게 합니다. arr.shift() slice() 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다. arr.slice([begin[, end]]) 차이점 무엇을 반환하나? shift: 제거된 (첫 번째) 요소 slice: 추출한 요소를 포함한 새로운 배열..