3 min to read
콘트롤(control)
JS 콘트롤
조건이란?
조건은 결정과 같음. 특정 조건에 따라 결정을 내리는 것 처럼 프로그램도 조건에 따라 결정을 내림. JS는 조건문을 사용해 이러한 결정을 내림.
JS에는 3가지 주요 조건문 유형이 있음
- “If” 문: 괄호 안의 조건이 True인지 확인. true인 경우 중괄호 내 코드블록을 실행함.
var num = 5; if ( num > 3){ console.log("The number is greater than 3"); }
- “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"); }
- “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 할당
다양한 숫자나 문자열은 부울값이 아니지만 특정 규칙에 의해 그렇게 처리될 수 있음.
- “True” value : 부울 컨텍스트에서 평가할 때 true로 판명되는 값이며 JS에서는 대부분의 값이 true임. 아래에 falsy list 가 없는 경우 true로 간주됨.
- “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.
- false : 키워드 자체가 false를 의미.