[Javascript] 제어문
삼항 연산자
(조건식)?(값1):(값2)
삼항연산자는 사용부분 통째로 값
경우의 수가 두가지일 때 사용하는 것이 좋다.
제어문
- 프로그램 내에서 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 문장
- 위에서 아래로만 흐르던 프로그램의 흐름을 제어하기 위한 문장
조건문(선택 제어문)
if ~ else if ~ else
switch ~ case ~ default
반복문(반복 제어문)
while
for
조건문
- 조건에 따라 경우의 수를 나눌 때
- 프로그램의 흐름을 여러갈래로 나눌 때
- 사용자에게 선택지를 주어줬을 때
- 특정한 상태를 물어볼 때(입력한게 6글자 이상이니? 입력한게 짝수이니?)
if문
if(조건식1){
조건식1의 결과가 true일때 실행
}
else if(조건식2){
조건식2의 결과가 true일때 실행
}
...
else{
조건식들의 결과가 모두 false일때 실행
}
switch문
- 경우의 수가 변수에 담긴 값의 등가비교로 인해 나뉠 때 사용
- 변수에 담긴 값에 따라 알맞은 case로 이동하고 문장을 실행한다.
- 하지만 그 밑에 case가 더 있다면 그 안에있는 문장들도 실행된다.
- 따라서 각 케이스들을 나누어 주려면 알맞게 break를 사용해야 한다.
switch(변수){
case 값1:
변수에 담긴 값이 값1 이면 수행할 문장
break;
case 값2:
변수에 담긴 값이 값2 이면 수행할 문장
break;
...
default:
위의 값들이 아닐 때 수행할 문장
}
기타 제어
break : 속해있는 switch문이나 반복문을 탈출한다.
continue
누적 대입 연산자(복합 대입 연산자, 누적 연산자)
+=, -=, *=, /=
let data = 10;
data = data + 5;
data += 5; //data에 5만큼 더해서 넣어라!
문자열의 경우 숫자와 달리 피연산자들의 순서에 따라 결과가 달라짐
뒤에 누적해서 연결할 때에만 사용
let str = "A";
str = str + "B"; //"AB"
-> str += "B";
str = "B" + str; //"BA"
-> 누적대입연산자로 축약 불가능
증감 연산자
data += 1 >> data++;
data -= 1 >> data--;
전위형(사용하는 그 순간부터 적용)
let data = 10;
console.log(++data); //11
console.log(data); //11
후위형(그 다음사용부터 적용)
let data = 10;
console.log(data++); //10
console.log(data); //11
반복문
특정한 코드나 행위를 반복해야 할 때 사용하는 문장
조건에 의한 반복문 : while
횟수에 의한 반복문 : for
while문
조건에 의한 반복문
while(조건식){
조건식의 연산결과가 true일동안 반복할 문장
}
do ~ while문
while문과 동일하지만 무조건 한번은 실행한다.
do{
조건식의 연산결과가 true일동안 반복할 문장
}while(조건식)
무한반복
while(true){
무한반복할 문장
if(탈출조건식){
break;
}
}
- while문 뒤의 () 안에는 조건식, 즉 Boolean타입의 값이 와야한다.
- 따라서 그 안에 true라는 값을 넣을 수가 있고, 그 값은 상수로 작성했기 때문에 변하지 않는다.
- 그러므로 그 while문은 무한정으로 반복하게 된다.
- 안에서 특정한 조건일 때 if문 안의 break를 통한 탈출구 하나 이상을 만들어 주어야 한다.
for문
- 횟수에 의한 반복문
- 반복 횟수가 특정된 경우에 사용한다.
- 무언가 값이 일정하게 변하는 반복이면 99% 확률로 for문이다.
for(초기식;조건식;증감식){
조건식이 참일동안 반복할 문장
}
초기식 : 변수를 하나 선언해준다. 내부에서 그 변수로 변하는 값을 표현할 수 있다.
조건식 : 반복이 수행될 조건식을 설정해준다.
증감식 : 매 반복마다 마지막으로 수행할 문장을 설정해준다.