뷰노 SW 개발팀의 신규 입사자 필수 이수 코스를 밟으며 Python 과 JavaScript 의 배열 메서드를 짝지어 비교한 글이다. 이름이 비슷한 메서드들이 실제로는 원본을 바꾸는지, 무엇을 반환하는지가 다르다는 점을 하나씩 확인한다.
핵심 포인트- 비교의 초점은 두 가지다. 메서드가 원본 배열을 변형하는지(mutation), 그리고 무엇을 반환하는지(return)다.
- 끝에 요소를 추가할 때 JavaScript `push()` 는 새 길이를 반환하지만 Python `append()` 는 반환값이 없다.
- 정렬·반전은 JavaScript 쪽이 결과를 반환하면서 원본도 바꾸고, Python 쪽은 반환 없이 원형을 변화시킨다.
- Python 의 `sort()` 와 `sorted()` 는 `key=`, `reverse=` 옵션 인자를 갖는다.
- Python `pop(i)` 의 인덱스 기본값이 -1 이라, 인자를 생략하면 JavaScript `pop()` 처럼 마지막 요소를 제거한다.
상세 정리- 배경: 팀에 새로 합류한 사람이 기술 스택에 익숙해지도록 위키에 정리된 필수 이수 코스를 두고 있으며, Python·Flask·Docker·React 등 9개 과정으로 구성돼 있다.
- 각 과정은 작성한 코드를 GitHub 에 커밋하는 것으로 완료 처리된다.
- 글은 그 과정을 밟으며 자연스럽게 두 언어의 데이터 타입을 비교하게 된 경험에서 출발했다.
- 먼저 Python 의 데이터 타입을 관점에 따라 다르게 분류한 그림 두 장을 놓고, 배열 비교에 필요한 관점을 종합한 그림으로 재구성한다.
- 이어서 JavaScript 의 데이터 타입 분류를 놓고 두 언어의 배열 메서드를 선으로 연결해 대응 관계를 보인다.
- 제거 계열 정리: JavaScript `shift()` 는 첫 요소를, `pop()` 은 마지막 요소를 제거하고 제거된 요소를 반환한다.
- 예제 코드는 참고 사이트의 것을 활용했다고 출처를 밝힌다.
왜 읽나두 언어를 오가며 작업하다 `append` 와 `push`, `sort` 와 `sorted` 의 반환·변형 차이에 걸려 본 개발자에게 대조표를 준다.