
(조건식) ? (값1) :(값2)
삼항연산자는 사용부분 통째로 값
경우의 수가 두가지 일 때 사용하는 것이 좋다.
let num = Number(prompt('write number'));
//결과를 다른 변수에 저장할 수 있다.
const result = num > 0 ? '양수입니다.' : num < 0 ? '음수입니다.': '0입니다.';
alert(result);
document.write(result)
프로그램 내에서 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 문자
위에서 아래로만 흐르던 프로그램의 흐름을 제어하기 위한 문장
if(조건식1){
조건식의 결과가 true일때 실행
false일때 조건식2로 넘어감
} else if(조건식2){
조건식 2가 true일때 실행
false일때 아래로 넘어감
}
...
else{
조건식들의 결과가 모두 false일때 실행
}
다음과 같이 여러 조건식으로 이루어진 if문 작성이 가능하다.
const age = Number(prompt('나이를 입력하쇼'));
if(age > 19){
console.log('성인입니다.')
console.log('성인인증완료')
}else if(age>=13){
console.log('청소년입니다.')
console.log('성인인증불가')
}else if(age>5){
console.log('어린이입니다.')
console.log('성인인증불가')
}else{
console.log('유아입니다.')
console.log('성인인증불가')
}
console.log('프로그램을 종료합니다.')
경우의 수가 변수에 담긴 값의 등가비교로 인해 나뉠 때 사용
변수에 담긴 값에 따라 알맞은 case로 이동하고 문장을 실행한다.
하지만 그 밑에 case가 더 있다면 그 안에 있는 문장들도 실행된다.
따라서 각 케이스들을 나누어 주려면 알맞게 break를 사용해야 한다.
switch(변수){
case 값1 :
변수에 담긴 값이 1이면 수행할 문장
break;
case 값2 :
변수에 담긴 값이 2이면 수행할 문장
break;
.
.
.
.
default :
위의 값들이 아닐때 수행할 문장.
break;
}
다음과 같이 case1에 들어갈때 아래가 실행되는 것을 이용하여 간단하게 표현 가능하다.
switch(choice){
case 3 :
document.write('정답이다.');
case 1 :
case 2 :
case 4 :
document.write('오답이다.');
break;
default :
document.write('1~4사의 숫자를 입력해라');
break; // 생략가능
}
특정한 코드나 행위를 반복해야 할 때 사용하는 문장
조건에 의한 반복문
while(조건식){
조건식의 연산결과가 true일 동안 반복할 문장
}
조건식이 참일때 계속 반복함
다음과 같이 계속 반복하는 것을 이용하여 원하는 값을 얻었을때 while 반복문을 멈추는 것을 응용할 수 있다.
let choice = 0;
while(true){
choice = Number(prompt('다음 중 주말 프론트엔드 강사의 이름은? \n1. 김사과\n2. 반하나\n3. 정다솔\n4. 이체리\n0. 나가기'));
if(choice === 3){
document.write('정답이다.<br>');
console.log('정답입력')
break;
}else if(choice === 1|| choice === 2 || choice === 4){
document.write('오답이다.<br>');
console.log('오답입력');
}else if(choice == 0){
document.write('안녕히가세요<br>');
console.log('프로그램 종료')
break;
}
else{
document.write('1~4까지 수를 입력하세요<br>');
console.log('입력오류');
}
}
while(true){
무한반복할 문장
if(탈출조건식){
break;
}
}
while 문 뒤의 ()안에는 조건식, 즉 boolean타입의 값이 와야한다.
따라서 그 안에 true라는 값을 넣을 수 있고, 그 값은 상수로 작성했기 때문에 변하지 않는다. 그러므로 그 while문은 무한정으로 반복하게 된다.
안에서 특정한 조건일때 if 문 안의 break를 통한 탈출구 하나 이상을 만들어 주어야한다.
( 만약 조건을 만족 시 나가고 싶으면 조건문에 break를 한다.)
while문과 동일하지만 무조건 한번은 실행한다.
do{
조건식의 연산 결과가 true일 동안 반복할 문장
}while(조건식)
let choice = 0;
let cnt = 0;
do{
cnt ++;
choice = Number(prompt('다음 중 주말 프론트엔드 강사의 이름은? \n1. 김사과\n2. 반하나\n3. 정다솔\n4. 이체리\n0. 나가기'));
if(choice === 3){
document.write(`${cnt}차 도전 : `);
document.write('정답이다.<br>');
console.log('정답입력')
}else if(choice === 1|| choice === 2 || choice === 4){
document.write(`${cnt}차 도전 : `);
document.write('오답이다.<br>');
console.log('오답입력');
}else if(choice == 0){
document.write('안녕히 가세요ㅜ');
}
else{
document.write(`${cnt}차 도전 : `);
document.write('1~4까지 수를 입력하세요<br>');
console.log('입력오류');
}
}while (choice !== 0 && choice !== 3)
횟수에 의한 반복문
반복 횟수가 특정된 경우에 사용한다.
무언가 값이 일정하게 변하는 반복이면 높은 확률로 for문이다.
for(초기식; 조건식; 증감식;){
조건식이 참일동안 반복할 문장
}
초기식 : 변수를 하나 선언해준다. 내부에서 그 변수로 변하는 값을 표현할 수 있다.
조건식 : 반복이 수행될 조건식을 설정해준다.
증감식 : 매 반복마다 마지막으로 수행할 문장을 설정해준다.
//반복횟수 : (22 - 2) / 증감값(2)
for (let i = 2; i < 22; i+=2) {
console.log(i)
}
//1부터 시작해서 10번 반복하는 반복문
for (let i = 1; i < 11; i++) {
console.log(i)
}
for (let i = 100; i > 34; i-=3) {
console.log(i)
}
break : 속해있는 switch문이나 반복문을 탈출한다.
continue : 반복문 내에서 아래쪽의 부분을 건너뛰고 다음 반복으로 넘어가게 하는 제어문
반복문( ){
반복중인 문장
조건문{
continue;
}
...<- 여기는 skip
}
let data = 10;
data = data + 5;
data += 5;
let str = "A";
str = str + "B";
str += "B" //위와 동일
str = "B" + str; //누적연산 못행
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