[강의]Javascript - 삼항연산자, 제어문, 조건문, 반복문

이강민·2021년 12월 16일
0

[강의]Javascript

목록 보기
3/8
post-thumbnail

삼항연산자

(조건식) ? (값1) :(값2)
삼항연산자는 사용부분 통째로 값
경우의 수가 두가지 일 때 사용하는 것이 좋다.

let num = Number(prompt('write number'));
       //결과를 다른 변수에 저장할 수 있다. 
const result  = num > 0 ? '양수입니다.' : num < 0 ? '음수입니다.': '0입니다.';
alert(result);
document.write(result)

제어문

프로그램 내에서 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 문자
위에서 아래로만 흐르던 프로그램의 흐름을 제어하기 위한 문장

조건문(선택 제어문)

  • 조건에 따라 경우의 수를 나눌 때
  • 프로그램의 흐름을 여러갈래로 나눌 때
  • 사용자에게 선택지를 주어줬을 때
  • 특정한 상태를 물어볼 때 (입력한게 6글자 이상이니?)

if문

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('프로그램을 종료합니다.')

switch문

경우의 수가 변수에 담긴 값의 등가비교로 인해 나뉠 때 사용
변수에 담긴 값에 따라 알맞은 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

조건에 의한 반복문
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를 한다.)

do ~ while

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문이다.

    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
profile
AllTimeDevelop

0개의 댓글