ABOUT ME

공부를 합시다.

Today
Yesterday
Total
  • Javascript #4. 조건문
    카테고리 없음 2020. 1. 22. 19:47

    *본 포스팅은 공부를 기록하는 목적의 포스팅입니다.

    자바스크립트를 배우고자 하시는 분들은 밑의 사이트에 가시길 추천합니다 :)

    https://learnjs.vlpt.us/

     

    벨로퍼트와 함께하는 모던 자바스크립트 · GitBook

    벨로퍼트와 함께하는 모던 자바스크립트 본 강의 자료는 패스트캠퍼스 온라인 강의에서 제공하는 JavaScript 강의에서 사용되는 강의 문서입니다. 강의 소개 이 강의에서 뜻하는 "모던 자바스크립트"는, 2019년에 사용하기에 걸맞는 그리고 또 뒤쳐지지 않는, 그런 자바스크립트를 칭합니다. 이 강의에서는 자바스크립트 기초부터 시작해서 실무에서 필요한 핵심 지식들까지 다뤄보게 됩니다. 강의 대상 이 강의는 프로그래밍을 한번도 해본적 없는 사람이 들어도 도움이

    learnjs.vlpt.us

     


     

    이번엔 조건문이다. 

    갈길이 멀다이야이야

    보통 나는 문법 공부를 할 때 조건문 부터 슬슬 처지기 시작하므로 마음 다잡고 해야한다. 

    갑시다~

     

    조건문은 특정 조건이 만족 되었을 때 특정 코드를 실행할 수 있다. 

    처음 Java로 조건문을 배웠을 때 도대체 이건 언제 쓰이는 걸까 하는 생각이 가득이었다. 

    마치 고등학교 때 집합을 왜 하는거지 하는 기분처럼..

    -if문

    조건문의 가장 기본적인 것은 if문이다. 

    if문은 만약 ~~하다면 ~~를 해라 이다. 

    이런걸 어떻게 쓸까? 

    만약 학생들의 성적을 점수별로 출력을 해야한다고 하면, 

    이런 식으로 사용할 수 있다. 

    만약 학생의 점수가 90점 이상이면 A를 줘라. 

    if(학생의 점수 >= 90){

       Give 'A'

    }

    위는 실제 코드가 아니다. 

    여튼 이런 느낌으로 쓸 수 있다는 것을 알면 조건문이 좀 덜 지루하게 느끼지 않을까 해서 적어보았다. 

    생각보다 다 쓰임이 있는 것이다. 

    근데 여전히 집합은 모르겠다...

     

    예시코드를 보자. 

    const a = 1; 
    if(a + 1 === 2){
    	console.log('a+1이 2이다');
    }

    결과는 a+1이 2이다 가 출력된다. 

    if(a + 1 ===2 )가 true이기 때문이다. 

    하지만 만약 여기서 a를 0으로 바꾼다면 어떻게 될까? 

    const a = 0; 
    if(a + 1 === 2){
    	console.log('a+1이 2이다');
    }

    결과는 아무것도 출력되지 않는다. 

    if문을 사용할 경우, 특정조건이 만족되어야만 특정 코드가 실행된다. 

    if (조건) {
     코드;
     }

    조건이 만족됐을 때 실행시킬 코드가 { }로 감싸져있는데 이는 코드 블록이라고 한다. 

    만약 조건이 true가 되면 지정된 코드가 실행되고 false가 되면 실행되지 않는다. 

    이전에 let과 const를 배울 때 다른 블록 범위에서는 똑같은 이름으로 선언할 수 있다고 했다. 

    밑의 코드를 보자. 

    const a = 1;
    if (true) {
     const a = 2;
     console.log('if 문 안의 a 값은 ' + a);
    }
     console.log('if문 밖의 a 값은' + a);

    결과는 다음과 같다 

    if문 안에 있는 코드 블록 console.log와 if문 밖의 console.log의 a는 각각 선언된 값이 다르다. 

     

    *if-else 문

    if-else문은 만약 ~~하면 ~~하고, 그렇지 않으면 ~~해라 이다.

    만약 학생의 점수가 50점 이상이면 pass하고, 그렇지 않으면 non-pass이다 인 것이다. 

    예시 코드를 보자. 

    const score = 90;
    if (score >= 50) {
     console.log('PASS');
     }else{
      console.log('NON PASS');
     }

    위의 코드의 결과는 pass이다. 

    그렇다면 여러 조건이 필요한 경우엔 어떻게 할까?

    패논패 말고 A, B, C 등등으로 나누고 싶을 땐?

     

    *if-else if문

    if-else if문이 그렇다. 

    학생들의 점수를 좀 더 세분화 해서 평가할 필요가 있는 것이다. 

    if-else if문을 사용하면 학생들의 점수가 90점 이상일 때, 80점 이상일때, 60점 이상일 때 등등 좀 더 다양한 조건으로 평가할 수 있게 된다. 

     

    예시 코드를 보자. 

    const score = 80; //학생의 점수가 50점일 때
    if(score >= 90 ) {
     console.log('A');
     }else if(score >= 80) {
      console.log('B');
     }else {
      console.log('재시험');
     }

    굉장히 엄격한 평가 기준이 되었다...

    학생의 학점은 B이다!

     

    *switch/case문

    swich/case 문은 특정 값이 무엇이냐에 따라 다른 작업을 하고 싶을 때 사용한다. 

    음.. 무슨 말인지 감이 잘 안온다. 

    그럴 땐 예시 코드를 보자!

    사실 나는 지금 백수지만 대학생인걸로 

    const yangchoi = 'university student';
    
    switch (yangchoi) {
     case 'high school' :
      console.log('고등학생');
      break;
     case 'salary man' :
      console.log('회사원');
      break;
     case 'university student' :
      console.log('대학생');
      break;
     defualt:
      console.log('백수');
     }

    결과는 대학생이다!

    yangchoi의 값에 따라서 다른 결과가 출력될 수 있다. 

    switch/case문은 이와 같이 특정 값이 무엇이냐에 따라 다른 작업을 수행한다. 

    단, case에서 실행할 코드를 작성하고 마지막으로 break;를 해주어야 한다. 

    그렇지 않으면 다음 case 코드까지 실행해버린다. 

    맨 아래의 default: 는 yangchoi 값이 case에 포함된 값이 없을 경우이다. 

    댓글

Designed by Tistory.