[제어문] : 코드 진행이 위->아래로 가기보다 상황에 따라 다른 결과를 얻도록 할 때 사용, 가장 원시적인 인공지능
[블럭구문] : 구문들의 집합, 구문들을 하나의 동작으로 묶는 역할을 함, 중괄호( {....} )로 묶음, 제어문의 범위를 나타낼 때도 사용됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function myFunction(){ var x=10, y=2; console.log(x*y); } var person = { eye: 2, nose: 1, walk: function(){ console.log("walking....!"); } } var x = 10; while(x>0){ console.log(x); x--; } | cs |
[조건문] : 일정 조건에 따라 다음 특정 진행 흐름으로 유도하려고 사용함.
1) if문 : 주어진 조건의 결과값(true, false)에 따라 각각의 방향으로 진행되도록 할 때 사용함
- 코드 블럭으로 if 구문과 else 구문을 구분함
- 조건이 세가지 이상일 경우, else if (조건문)을 사용함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | var x = 10; if(x>=10){ console.log("참"); } else{ console.log("거짓"); } /* if문 자리는 항상 주어진 조건, 변수가 true인지 아닌지만 살핌 true일 경우 실행, 아닐 경우 else 실행 */ var flag = true; if(flag) { console.log("참"); } else { console.log("거짓"); } // "참" 출력 if(!flag){ console.log("????"); } else { console.log("!!!!"); } // "!!!!" 출력 /* 조건이 세가지 이상일 경우 */ var day = new Date(); var hour = day.getHours(); if(hour<11){ console.log("좋은 아침입니다!"); } else if(hour>18){ console.log("좋은 저녁되세요!"); } else { console.log("나른한 오후군요!"); } | cs |
2) switch문 : 조건의 true, false가 아닌, 조건 대상의 상태값에 따라 특정 방향으로 진행시켜야할 때 사용함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var color = "blue"; switch(color){ case "red" : console.log("빨강"); break; case "blue" : console.log("파랑"); break; case "green" : console.log("초록"); break; default : /* 해당되는 것이 없을 때, break문 */ console.log("??????"); } | cs |
[반복문] : 주어진 조건이 true일 때(일정 횟수 돌도록 설계가능), 반복되는 구문( {....} )을 만들 수 있음
1) for문 : 일정 횟수만큼 반복 실행할 때 사용함
1 2 3 4 5 | /* for(변수초기화; 조건(조건이 true일 때까지 실행); 반복문 실행후 변수에 어떤 변화를 줄것인지 */ for(var i=0; i<10; i++){ console.log(i); } | cs |
2) while문 : 반복횟수를 정확히 모르지만, 조건이 false가 될 때까지 실행하고싶을 때 사용, 무한반복문도 가능(조건문 자리에 true를 넣을 시)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var a = 0; while(a < 10){ console.log(a); a++; } /* 무한반복문은 잘 사용해야함...... 브라우져에 무리를..... */ while(true){ console.log("안녕"); } | cs |
3) do~while문 : 2번 항목과 비슷하나, 조건의 결과(true/false)와 상관없이 최초 1회는 반드시 실행함
1 2 3 4 5 | var a = 10; do { console.log("최초 1회만 실행됨"); } while(a>10); | cs |
4) break 문 : 반복문을 탈출할 때 사용함, 무한반복문이나 반복문 내 조건문을 넣을 시 조건문의 결과에 따라 반복문을 탈출할 때 사용함
1 2 3 4 5 6 7 8 | var a = 10; while(true){ if(a === 10){ console.log("종료합니다."); break; } } | cs |
5) continue문 : continue문 이후 구문은 실행 생략하고 다시 반복문의 조건검사 위치로 이동함
- 특정 조건일 때 특정 구문을 실행하지않기위해 사용함
1 2 3 4 5 6 7 8 9 10 11 | var cnt = 0; while(cnt < 10) { cnt++; if(cnt >= 2 && cnt % 2 == 0) continue; console.log(cnt + "번째"); } | cs |
[알아둬야할 것]
1) 암묵적 강제 형 변환 : 조건문 자리에 객체, 문자열, 배열, 숫자 등 boolean형이 아닐 경우 강제로 boolean으로 변환함
-(!!과 같은 역할) true인지 false인지 판단함
- 다른 자료형의 값이 true와 false가 되는 조건 알아보기 : http://jinbroing.tistory.com/50 - ctrl+ f 누른 후 !! 검색
2) 타입과 값 모두 고려하는 ===(일치연산자)를 사용하는 것이 좋음, ==, !=(동등연산자) 사용할 경우 강제형변환 함
3) 단항 연산자 사용가능 : 단항연산자로 들어가는 피연산자의 값이 true/false를 가져야함
'javascript' 카테고리의 다른 글
[자바스크립트] 객체 #2 (0) | 2017.03.14 |
---|---|
[자바스크립트] 객체 (0) | 2017.03.11 |
[자바스크립트] 연산자 (0) | 2017.03.08 |
[자바스크립트] 자료형과 변수 (0) | 2017.03.08 |
[자바스크립트] 기본문법 (0) | 2017.03.08 |
댓글