본문 바로가기
TIL

2024.03.22 23일차 Javascript break, continue & Git Hosting

by Song.dev 2024. 3. 22.

반복문 빠져나오기 (강제 종료)

break

  • 반복문이 실행 중 break를 만나는 순간 반복문을 해당 시점에서 종료
  • break를 만나는 순간 이하의 반복문의 남은 코드는 모두 실행되지 않으며 블록을 탈출
  • 대개 if문과 함께 사용되며 조건에 따라 반복문을 종료할 때 사용

  ex ) 종료버튼을 누르면 반복문으로 실행 중인 프로그램이 종료

 

  **  중첩된 반복문에서의 break는 가장 가까운 반복문 하나만 벗어남

for(var i = 0; i < 3; i++) {  // i: 0 j: 0
  for(var j = 0; j < 2; j++) {   
    if(i === j) { 
      break;                    ----> break로 안쪽 for문 종료
    }
    console.log(`${i}, ${j}`);
  }
}                             ------> 바깥 for문 계속 반복하기 위해 i++로

 

  *** switch 문에서 각 case 마다 break 사용해야함

 

레이블

각 반복문에 이름, 레이블을 붙여 바깥 반복문을 종료할 수 있음

grape: for(var i = 0; i < 3; i++) {  // i: 0 j: 0
strawberry:  for(var j = 0; j < 2; j++) {
    if(i === j) {
      break grape;
    }
    console.log(`${i}, ${j}`);
  }
}

 

 

무한 루프

  • 무한 루프는 반복문의 반복횟수를 사전에 정확하게 알 수 없는 상황에서 사용하며
    특정 조건 하에서 반복문을 강제로 종료하는 형태로 구성
  • 프로그램이 중단되지 않게 유지할 때도 무한루프를 사용

 

** for 무한 반복

for(;;) {

// 코드  

}

 

 

 

다음 반복으로 넘어가기 (반복문 건너뛰기)

continue

  • continue문은 for문이나 while문에서 사용되며 반복문이 실행 중 continue를 만나는 순간
    for문의 경우 증감식, while문의 경우 조건식으로 이동
  • continue는 break와 달리 반복문을 종료하지 않고 계속 수행
  • 조건부로 특정 반복회차를 건너뛸 때 사용
  • continue 아래의 코드를 skip

 

// 게임 재시작 여부
var replayFlag = confirm('한판 더 하실건가요?'); // confirm 결과는 true, false

위의 게임 코드들 전부 묶어주고 
 if(!replayFlag) {
  alert('잘 가')
  break;
 } else {
	 continue;  // 난이도 선택으로 돌아가기
 }

 

 

 *  문제 해결 흐름

 

  • x - y 연산해서 답이 0일 때 0을 입력하면 게임이 종료되는 현상

  →  종료 조건을 0이 아닌 ‘종료’ 등 문자열 사용 

  →  연산이 0이 되지 않도록 조건 설정
         ex) 0일 때는 다른 코드가 실행되지 않으면 된다는 발상에서 출발해 continue 사용
              if(firstNumber === secondeNumer) continue;

  →  연산결과의 0일 땐 종료하지 않도록 조건 설정

 

      여러 방식을 떠올려보고 각 상황에 적합한 방식으로 코딩

 

 


Git Hosting

1. 새 리포지토리 생성

[Github닉네임] / [Github닉네임.github.io]

 

만약 git 닉네임이 tistory라면 아래와 처럼 리포지토리를 만들면 됨

[tistory] / [tistory.github.io]

 

 

2. 생성한 리포지토리를 git clone 후 작업 파일 push

 

깃 클론으로 새 리포지토리를 가져오면 .git 이 있는 빈 폴더가 생성됨

그 폴더 안에 작업한 파일을 붙여넣으면 된다.

 

  ** 주의!!  index.html이 .git 과 같은 위치에 있어야 깃허브에서 사이트를 인식할 수 있음

  * 클론에서 문제가 생겼다면 init, remote 연결 등 기존 방식대로 작업하면 됨

 

 

3. github.io 주소로 적용됐는지 확인

 

push가 잘 됐는지 해당 리포지토리를 확인한 뒤

<code> 탭에서 link 연결이 잘 됐는지 확인해야 함

 

Pending ... 은 연결 중이라는 뜻이니 기다려봐야 하고

X 가 떴다면 연결 문제가 발생했다는 뜻이니

index.html 파일이 제 위치에 있는지, git 과정에서 오류는 없었는지 찾아야 한다. 

 

몇 분 정도 기다려 연결이 완료 됐다면

아래 사진처럼 Settings / Pages 에서 3번처럼 해당 주소로 접속해서 

웹 페이지가 의도한 대로 만들어졌는지 점검하면 된다.