JavaScript 스위치 문 마스터하기 — SitePoint
홈페이지홈페이지 > 블로그 > JavaScript 스위치 문 마스터하기 — SitePoint

JavaScript 스위치 문 마스터하기 — SitePoint

Sep 02, 2023

JavaScript 스위치 문은 다양한 조건에 따라 코드에서 결정을 내리는 방법입니다. 여러 개의 if-else 문을 사용하는 것보다 더 체계적이고 간결한 대안입니다. switch 문은 변수나 값이 될 수 있는 주어진 표현식을 평가하고 이를 여러 가능한 경우와 비교합니다. 표현식의 값이 사례 중 하나와 일치하면 관련 코드 블록(명령어 세트)이 실행됩니다. 일치하는 항목이 없으면 선택적 기본 사례가 폴백으로 실행될 수 있습니다. 즉, 다른 사례가 적용되지 않을 때 실행됩니다.

예를 들어, 다음은 day라는 변수의 값을 확인하는 간단한 스위치 문입니다.

스위치 문을 마스터하면 더 깔끔하고, 더 효율적이며, 더 잘 구성된 JavaScript 코드를 작성할 수 있어 궁극적으로 전반적인 프로그래밍 기술이 향상됩니다.

스위치 문은 키워드 스위치로 시작하고 그 뒤에 괄호 안에 표현식이 옵니다. 이 표현식은 스위치 블록에 포함된 일련의 케이스 레이블과 비교됩니다. 각 케이스 레이블은 고유한 값을 나타내며 표현식이 케이스 레이블 값과 일치할 때 케이스 뒤에 오는 코드 블록이 실행됩니다. break 문은 일반적으로 일치하는 케이스가 실행된 후 스위치 블록을 종료하는 데 사용되며, 의도한 코드 블록만 실행되도록 하고 다음 케이스로 넘어가는 것을 방지합니다. 선택적으로, 표현식과 일치하는 사례 레이블이 없을 때 대체 작업을 제공하기 위해 기본 사례를 포함하여 알 수 없는 값에 대한 응답을 보장할 수 있습니다.

switch 문은 처리할 조건이 여러 개 있을 때 if-else 문을 사용하는 대신 사용할 수 있습니다. if-else 문은 true 또는 false로 표현될 수 있는 일련의 조건을 확인하는 데 적합하지만, switch 문은 여러 고유 값을 사용할 수 있는 단일 표현식을 처리할 때 더 효율적입니다. 본질적으로, switch 문은 관리해야 할 여러 관련 조건이 있을 때 코드를 더욱 깔끔하고, 체계적으로, 읽기 쉽게 만들 수 있습니다.

예를 들어 다음 if-else 구조를 고려해보세요.

동등한 스위치 문은 다음과 같습니다.

switch 문은 특히 많은 수의 사례를 처리할 때 여러 조건을 처리하는 보다 체계적이고 읽기 쉬운 방법을 제공합니다. switch 문에서 평가되는 표현식은 괄호 안의 변수 또는 값(이 예에서는 변수 color)입니다.

스위치와 if-else는 모두 비슷한 문제를 해결하며 사용 사례에 따라 장단점이 있습니다. 귀하의 결정을 돕기 위해 간단한 스위치 문을 만들었습니다.

switch 문은 코드의 성능, 가독성 및 간결성을 향상시키는 데 사용할 수 있는 추가 기능과 개념을 제공합니다.

제공된 표현식과 일치하는 다른 케이스가 없을 때 switch 문의 기본 케이스가 실행됩니다. 예상치 못한 값이나 알 수 없는 값을 처리하는 대체 역할을 하여 일치하는 사례가 없더라도 응답이 제공되도록 합니다.

break 키워드는 일치하는 사례를 찾아 실행한 후 스위치 블록을 종료하기 위해 스위치 문에서 사용됩니다. 이는 코드가 나머지 사례를 계속 실행하는 것을 방지하여 올바른 출력만 생성되도록 합니다.

Case는 switch 문에 둘 이상의 조건을 가질 수 없습니다. 하나의 사례에 여러 조건을 통합하려면 Fall-through 기술을 사용하는 것이 좋습니다. 시간을 절약할 수 있을 뿐만 아니라 반복하지 않도록 해줍니다.

switch 문의 폴스루(fall-through)는 케이스에서 break 키워드를 의도적으로 생략할 때 발생하며, 중단이 발생하거나 스위치 블록의 끝에 도달할 때까지 코드 실행이 다음 케이스로 계속되도록 허용합니다. 이는 여러 사례가 동일한 출력이나 작업을 공유하는 경우 유용할 수 있습니다.

switch 문을 사용할 때 자주 발생하는 실수는 각 Case 뒤에 break 문을 포함하지 않는 것입니다. 이 오류로 인해 의도하지 않은 오류가 발생하여 원하는 사례만 실행하는 대신 여러 사례를 실행하게 됩니다.