
Array.prototype.push와 Array.prototype.pop method를 비슷하게 동작하도록 myMethod라는 method를 만들어서 구현해보려고 한다.

내가 만든 push는 배열, 추가할 요소 총 2개의 매개변수 받는다.
Array.prototype.push와 동일하게 비순수 함수로 만들어보았다.
// 비순수 함수
push: (array, item) => {
array[array.length] = item;
return array;
}
위의 myMethod.push와는 다르게 순수 함수로 만들어 주었다.
push2는 배열, 추가할 요소 총 2개의 arguments를 갖는다.
순수 함수로 만들어주었기 때문에 원본 배열 array는 변경이 되지 않고 새로운 배열을 만들어서 return 해주는 방식으로 만들었다.
// 순수 함수
push2: (array, item) => {
return [...array, item];
},
배열에 젤 마지막에 있는 요소만 제거를 해주면 되기때문에 1개의 arguments만 갖는다.
// 비순수 함수
pop: (array) => {
if (array.length === 0) return undefined;
array.length = array.length - 1;
return array;
}