Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 goto 문을 사용할 수 있을까요? 대체 방법과 전처리 기법 소개

JavaScript에는 goto 문이 존재하지 않습니다. goto는 예약어(reserved keyword)로만 지정되어 있을 뿐, 실제로 사용할 수 있는 구문이 아닙니다. 또한 웹 표준 관점에서도 goto 문은 코드의 흐름을 복잡하게 만들고 가독성을 해치기 때문에 좋은 프로그래밍 습관으로 간주되지 않습니다.

전처리(Preprocessing)를 통한 goto 흉내 내기

다만, JavaScript 코드를 실행하기 전에 전처리(preprocessing) 단계를 거친다면 goto와 유사한 동작을 구현하는 것이 가능합니다. 아래 예시를 살펴보겠습니다.

var a = 0;
[lbl] beginning:
console.log("Demo Text!");
a++;
if(i < 424) goto beginning;

위 코드는 실제 JavaScript 문법이 아니라, goto를 사용하는 것처럼 작성된 의사 코드입니다. 이 코드가 전처리기를 통해 변환되면 다음과 같은 형태가 됩니다.

var a = 0;
beginning: while(true) {
   console.log("Demo Text!");
   a++;
   if(i < 424) continue beginning;
      break;
}

JavaScript에서 제공하는 대안

전처리기 없이도 JavaScript 자체적으로 goto와 비슷한 흐름 제어를 구현할 수 있는 방법들이 있습니다.

1. 레이블(Label)과 continue / break

JavaScript는 반복문에 레이블(label)을 붙여 continuebreak와 함께 사용할 수 있습니다. 위에서 전처리된 코드의 beginning: 부분이 바로 레이블입니다.

2. while 루프 활용

대부분의 goto 사용 사례는 사실 반복문으로 대체 가능합니다. 조건이 충족되는 동안 코드 블록을 반복 실행하려면 while이나 for 루프를 사용하는 것이 표준적이고 안전한 방법입니다.

결론

JavaScript에서 goto 문은 직접 사용할 수 없으며, 애초에 사용하지 않는 것이 권장됩니다. 반복 처리가 필요하다면 루프문과 레이블, 그리고 break/continue를 활용해 명확하고 유지보수하기 좋은 코드를 작성하는 것이 바람직합니다.