JavaScript 스니펫: Split & Map

발행: (2026년 1월 8일 오전 02:50 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

JavaScript 스니펫: Split & Map 커버 이미지

이 작은 JavaScript 코드 조각을 본 적이 있나요? 무슨 마법 같은 일이 일어나고 있는지 궁금했을 겁니다. 겉보기엔 간단해 보이지만, 여기엔 꽤 영리한 트릭이 숨어 있습니다. 하나씩 살펴보겠습니다.

CSV 문자열 나누기

"1,2,3"이라는 문자열은 CSV 파일, 사용자 입력, 혹은 API 응답에서 올 수 있습니다. JavaScript는 이를 하나의 문자열로 취급하며, 세 개의 별도 숫자로 인식하지 않습니다.

// 각 콤마마다 문자열을 나눕니다
const parts = "1,2,3".split(",");
console.log(parts); // ["1", "2", "3"]

결과는 문자열 배열입니다. 지금 바로 더하면 "12"가 나오고 3이 나오지 않습니다.

map(Number) 로 문자열을 숫자로 변환하기

Array.prototype.map 은 각 요소를 순회하면서 변환을 적용합니다. 내장 Number 함수를 전달하면 각 문자열을 숫자 값으로 변환합니다.

// 각 문자열을 숫자로 변환합니다
const numbers = "1,2,3".split(",").map(Number);
console.log(numbers); // [1, 2, 3]

이제 배열에는 실제 숫자가 들어 있어 산술 연산을 할 수 있습니다.

우아한 단축키

map(Number)map(x => Number(x)) 의 축약형입니다. Number 가 이미 단일 인자를 받도록 설계돼 있기 때문에 그대로 map 에 넘겨도 동일한 결과를 얻으며, 타이핑을 몇 번 줄일 수 있습니다.

map(Number) 없이 하면 어떻게 될까?

맵핑 단계를 건너뛰면 문자열 배열만 남게 됩니다:

const withoutMap = "1,2,3".split(",");
console.log(withoutMap); // ["1", "2", "3"]

그 값들에 산술 연산을 시도하면 문자열 연결이 일어납니다:

const withoutMap = "1,2,3".split(",");
console.log(withoutMap[0] + withoutMap[1]); // "12" (문자열 연결)

const withMap = "1,2,3".split(",").map(Number);
console.log(withMap[0] + withMap[1]); // 3 (숫자 덧셈)

map(Number) 가 없으면 JavaScript 가 요소들을 텍스트로 취급하므로, 기대했던 6 대신 "123" 이 나오거나, "10""2" 앞에 나타나는 등 정렬 오류와 같은 버그가 발생할 수 있습니다.

결론

이 패턴은 실제 JavaScript 코드에서 어디든 등장합니다: CSV 데이터 파싱, URL 파라미터 변환, 폼 입력 처리 등등. .split(",").map(Number) 의 조합은 구분된 문자열을 사용 가능한 숫자 배열로 바꾸는 간결하고 표현력 있는 방법입니다.

행복한 코딩 되세요!

Back to Blog

관련 글

더 보기 »

React에서 간단한 Carousel/Slider 만들기

캐러셀 또는 슬라이더는 이미지나 콘텐츠를 하나씩 표시하는 훌륭한 방법입니다. 버튼을 사용하여 이를 탐색할 수 있습니다. 아래는 간단한 구현...