-
[JavaScript] 기초문법3 (+ 반복문 for, while, break, continue, switch)React 2022. 10. 10. 12:21
for 반복문
for문은 초기값을 전달하고 반복을 진행되면서 바뀌는 조건을 확인한다. 그리고 조건이 false가 되면 반복을 멈춘다.
* 반복 작업 순서
1) 초기값 설정
2) 조건 true / false 확인
3) 반복할 코드 실행
4) 코드 실행 후 작업
5) 작업 후 바뀐 변수값으로 조건 확인, false가 리턴되면 반복문 탈출
for(let i=0; i<5; i++){ console.log('How you doing?') } // for(초기값; 조건; 반복할 코드 실행 후의 작업){ // 반복할 코드; // }
while 반복문
let i=0; while(i<5){ console.log('hi') i++; //i를 변화시켜야 무한루프에 빠지지 않는다. }
초기값 설정
while(조건){
반복할 코드
코드 실행 후의 작업
}
위처럼 구성되어 있으며, 초기값은 반복문 그룹 밖에서 먼저 정의해준다.
do.. while 반복문
while과 비슷하며, 조건을 맨 마지막에 써준다. 따라서 적어도 무조건 1번의 동작은 실행된다는 것이 while과의 가장 큰 차이이다.
let i=0; do{ console.log('hi'); i++; }while(i<0) //hi
따라서 위 코드는 모든 조건이 False지만 hi가 1번 출력된다.
초기값 설정
do{
반복한 코드
코드 실행 후의 작업
}while(조건)
반복문 탈출
break 는 만나는 즉시 코드 실행을 멈추고 해당 반복문을 빠져나온다. 무한 반복문에서는 특정 조건이 되었을 때 break를 사용하여 반복문을 빠져나오는 것이 중요하다.
while(true){ let answer=confirm('계속할까요?'); //확인 버튼 누르면 계속 반복 if(!answer){//취소 버튼을 누르면 반복문 탈출 break; } }
continue 도 만나는 즉시 코드 실행을 멈추지만, 그 다음 반복으로 넘어가서 진행한다.
for(i=0; i<10; i++){ if(i%2){ continue; }else{ process.stdout.write(i + ' ') } } //0 2 4 6 8
짝수는 2로 나누었을 때 나머지가 0이므로, 조건에서는 false가 된다. 따라서 else로 가서 i 값이 출력이 되고,
홀수는 2로 나누었을 때 나머지가 1이기 때문에 조건이 true가 되서 continue를 만나게 되고 출력하지 않고 다음 반복으로 넘어간다.
* 반복 횟수가 정해져 있다면 for 문을, 그렇지 않다면 while 문을 주로 사용한다.
switch 문
if else 문과 매우 흡사하지만, 케이스가 많아지는 경우 좀 더 간결하게 쓸 수 있다.
let fruit=prompt('어떤 과일을 원하세요?'); switch(fruit){ case '사과' : console.log('100원입니다.'); break; case '배' : console.log('200원입니다.'); break; case '수박' : case '메론' : console.log('300원입니다.'); break; default : console.log('그런 과일은 없습니다.') }
여기서 해당 case는 이후의 존재하는 모든 코드를 다 실행하기 때문에 반드시 break를 추가해서 탈출시켜줘야 하나씩만 원하는대로 실행 된다. 그리고 이 특징을 이용해서 같은 동작을 하는 여러 케이스를 묶어서 적어줄 수도 있다.
case로 주어지지 않는 이외의 값을 입력 받았을 때 실행할 코드는 default를 사용해서 적어줄 수 있다.
* 개발자는 항상 쉽게 일하고 코드 길이를 줄이려고 노력해야 한다. 그래야 자원을 아끼고 더 빠르게 작동하는 프로그램을 만들 수 있다.
외부 참조 링크
https://www.youtube.com/watch?v=KF6t61yuPCY&t=2851s
https://busyman.tistory.com/370
[javascript] 개행 없이 출력하기
console.log()로 간단히 출력이 되는데 가끔 개행 없이 출력하고 싶을 때가 있다. process.stdout.write()를 사용하면 간단하다. console.log("개행없이 출력"); for (var i=1; i 개행없이 출력 1_2_3_4_ --------..
busyman.tistory.com
'React' 카테고리의 다른 글
[JavaScript] 기초문법4 (+ 함수, 선언문, 표현식, 화살표 함수, 호이스팅, ES6) (0) 2022.10.12 타입스크립트(TypeScript)란? (+ 우아한 형제 웹 프론트엔드 개발 직무 모집, DevOps) (0) 2022.10.10 [JavaScript] 기초문법2 (+ 연산자, 증가, 감소, 비교, 논리, 조건문) (0) 2022.10.09 [JavaScript] 기초문법1 (+ 변수, 자료형, 형변환, 알림창 함수) (2) 2022.10.08 React(리액트)란? (+ 사용하는 이유) (0) 2022.10.07