콘트롤(control)

Featured image

JS 콘트롤


조건이란?

조건은 결정과 같음. 특정 조건에 따라 결정을 내리는 것 처럼 프로그램도 조건에 따라 결정을 내림. JS는 조건문을 사용해 이러한 결정을 내림.

JS에는 3가지 주요 조건문 유형이 있음

  1. “If” 문: 괄호 안의 조건이 True인지 확인. true인 경우 중괄호 내 코드블록을 실행함.
    var num = 5;
    if ( num > 3){
     console.log("The number is greater than 3");
    }
    
  2. “Else” 문: If 문과 함께 선택적으로 사용됨. If문의 조건이 False 면 “Else”문이 실행됨. 즉, “else”문은 “if” 및 “else if” 조건이 실패시 실행되는 기본 코드가 포함됨.
    var num = 2;
    if (num > 3){
     console.log("The number is greather than 3");
    } else {
     console.log("The number is not greather than 3");
    }
    
  3. “Else if” 문: 확인 조건이 2개 이상인 경우 사용함. if문이 false 인 경우 실행됨.
    var num = 5;
    if (num > 10){
     console.log("The number is greather than 10");
    } else if (num > 5){
     console.log("The number is greather than 5");
    } else {
     console.log("The number is 5 or less");
    }
    

제어 흐름 (Control flow)

처리 순서를 결정하는 프로그램 내 명령문을 순차적으로 실행하는 것임. 프로그램 파일의 명령문은 일반적으로 왼쪽에서 오른쪽으로, 위에서 아래로 읽고 실행됨. 그러나 조건문 (if,else if, else문)과 같은 제어구조에서는 제어 흐름을 변경할 수 있는 기능이 있음. 특정 조건이 충족되면 특정 코드 블록의 선택적인 실행을 촉진함. 이러한 구조를 통해 프로그램은 런타임에 지능적인 결정을 내릴 수 있고 동적이고 적응 가능한 코드를 실행할 수 있음.

True, False 할당

다양한 숫자나 문자열은 부울값이 아니지만 특정 규칙에 의해 그렇게 처리될 수 있음.

  1. “True” value : 부울 컨텍스트에서 평가할 때 true로 판명되는 값이며 JS에서는 대부분의 값이 true임. 아래에 falsy list 가 없는 경우 true로 간주됨.
  2. “Falsy” value: 부울 컨텍스트에서 평가할 때 false인 값임. 다음을 포함해 몇 가지 false 값이 존재함.
    • false : 키워드 자체가 false를 의미.
       if(false) {
        console.log("This won't run, because it's not true");
       }
      

      JS에서 false를 나타내는 내장 부울값임.

    • 0 : 숫자 0은 false임.
       console.log("This won't run, because 0 is falsy");
      

      JS에서 숫자 0은 false로 간주됨

    • ‘[no content]’,”[no content]”, [no content] : 작은 따옴표, 큰 따옴표, 백틱을 사용하는 빈 문자열은 false임.
       if (''){
        console.log("This won't run, because an empty string is falsy");
       }
      

      []와 no content 도 false로 간주

    • null: 키워드 null은 false임.
       if(null){
        console.log("This won't run, because null is falsy");
       }
      
    • undefined: 키워드 undefined는 false임.
     var myVar;
     if(myVar){
         console.log("This won't run, because myVar is undefined and hence, falsy");
     }
    
    • NaN: “숫자가 아님” NaN은 false임.
       var notNumber = "hello" * 3;
       if(notNumber){
        console.log("This won't run, because multiplying a string by a number results in NaN, which is falsy");
       }
      

      NaN은 “Not a Number”를 의미. false.