호다닥

for 문/ while 문 의 차이 - Codeit(Javascript로 배우는 '인터랙티브 웹') 본문

Javascript

for 문/ while 문 의 차이 - Codeit(Javascript로 배우는 '인터랙티브 웹')

3jun 2018. 10. 1. 19:23

일반적으로 반복 횟수가 예측 가능할 때는 for 문을 사용하는 것이 가독성이 더 좋고, 반복 횟수를 예측할 수 없으면 while 문을 사용하는 것이 더 적합한 경우가 많다.

 

로그인 모듈

사용자에게 아이디와 비밀번호를 입력받아서 '로그인' 시키는 모듈을 아래 두 가지 방법으로 만들어보자.

 

1. 다섯 번의 기회만 주는 모듈

2. 성공할 때까지 기회를 무제한으로 주는 모듈

 

횟수제한 ( for문 )

// 로그인 성공 여부를 보관하는 변수
var login = false;

// 최대 다섯 번의 기회를 준다
for (var i = 0; i < 5; i++) {
  // 아이디와 비밀번호를 입력 받는다
  var id = window.prompt("아이디를 입력하세요");
  var password = window.prompt("비밀번호를 입력하세요");

  if (id === 'codeit' && password === '4321') {
    console.log('환영합니다. ' + id + '님.');
    login = true;
    break;
  } else {
    console.log('아이디와 비밀번호가 일치하지 않습니다.');
  }

 

무제한 ( while 문 )

// 로그인 성공 여부를 보관하는 변수
var login = false;

// 로그인에 성공할 때까지 반복
while (!login) {
  // 아이디와 비밀번호를 입력 받는다
  var id = window.prompt("아이디를 입력하세요");
  var password = window.prompt("비밀번호를 입력하세요");

  if (id === 'codeit' && password === '4321') {
    console.log('환영합니다. ' + id + '님.');
    login = true;
  } else {
    console.log('아이디와 비밀번호가 일치하지 않습니다.');
  }
}

이렇게 되면 login의 값이 false 인 동안, 즉 로그인이 완료되지 않은 동안 while 문은 계속 반복한다. 로그인이 성공할 때까지 계속 반복문에 머물러 있게되는 것이다.

Comments