흐름제어
자바스크립트 코드는 위에서 아래로 한줄씩 순서대로 실행되는데,
코드가 실행되는 흐름을 프로그래머가 제어할 수 있는 수단이 흐름제어다.
주어진 조건에 따라서 어플리케이션을 다르게 동작하도록 하는것
//ex1)
if(true (= 조건식)){
alert('result : true);
}
//ex2)
if(false){
alert('result : true');
}
ex1은 값을 도출하지만 ex2는 값을 도출하지 않는다.
조건식의 boolean값에 따라 실행여부가 달라진다.
if( 조건식 ) {
// 조건식이 참인 경우 실행;
}else if( 조건식 ){
// 위의 조건식이 거짓이고 해당 조건식이 참인 경우 실행;
}else{
// 조건식이 거짓인 경우 실행;
}
else if는 좀 더 다양한 케이스의 조건을 검사할 수 있다.
else if와 else값은 생략이 가능하다.
|| 논리 합 연산. 좌항이나 우항 둘 중 하나라도 true면 전체 식이 true가 되는 연산.
좌항이 true인 경우, 우항은 볼것도 없이 전체식이 true로 결정되므로, 그 경우에 우항은 아예 계산을 하지 않는다.
&& 논리 곱 연산. 좌항과 우항 둘 다 true여야 전체식이 true가 되는 연산.
좌항이 false인 경우, 우항은 볼것도 없이 전체식이 false로 결정되므로, 그 경우에 우항은 아예 계산을 하지 않는다.
! 논리 부정 연산. 주어진 진리값이 true면 false를 도출하고, 주어진 진리값이 false면 true를 도출하는 연산.
논리연산자를 사용하면 조건문을 간단하게 표현할 수 있다.
블럭 안에서 실행될 내용이 문장 1개 이거나 블럭 1개로 취급할 수 있는 경우,
중괄호 기호는 생략이 가능하다
조건식 ? true일때 나오는 코드 : false일때 나오는 코드
Number타입 데이터를 써야 할 자리에 Boolean타입 데이터를 쓰는 경우,
ex) 6-true => 5
true는 1로 간주되고, false는 0으로 간주된다.
String타입 데이터를 써야 할 자리에 Boolean타입 데이터를 쓰는 경우,
ex) “String"+true => “String true“
true는 “true”로 간주되고, false는 “false”로 간주된다.
Boolean타입 데이터를 써야 할 자리에, Number타입 데이터를 쓰는 경우,
ex) true && 1 => true
0 은 false로 간주되고, 0이 아닌 모든 수(음수포함)는 true로 간주된다.
Boolean타입 데이터를 써야 할 자리에, String타입 데이터를 쓰는 경우,
ex) true && “false” => true
빈 문자열(=“”)는 false로 간주되고, 문자열이 비어있지 않으면 true로 간주된다.
switch( 변수나 데이터 ){
case [데이터1]:
// 주어진 변수나 데이터가 [데이터1]에 대응하는 경우 실행될 문장들;
case [데이터2]:
// 주어진 변수나 데이터가 [데이터2]에 대응하는 경우 실행될 문장들;
default:
// 주어진 변수나 데이터가 어느 case에도 대응하지 않았던 경우 실행될 문장들;
}
대응하는 case절을 찾으면 거기에서 시작해서 밑으로 쭉 실행을 이어간다.
case절에서 아래로 실행흐름을 내려보내지 않고 실행을 멈추고 싶으면 break 문을 사용한다.
default절은 생략 가능하다.
while( 조건식 ){
// 조건식이 참인 경우 반복해서 실행할 코드;
}
(조건식-내용실행-) (조건식-내용실행-) (조건식-내용실행-)...
do{
// 조건식이 참인 경우 반복해서 실행할 코드;
} while( 조건식 );
(내용실행-조건식-) (내용실행-조건식-) (내용실행-조건식-)...
for( 초기식 ; 조건식 ; 증감식 ){
// 조건식이 참인 경우 반복해서 실행할 코드;
}
(초기식-조건식-내용실행-) (증감식-조건식-내용실행-) (증감식-조건식-내용실행-)...
함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다.
function 함수명( [인자...[,인자]] ){
//실행할 코드
return 반환값
}
//인자 : 유입되는 입력 값, 여러개를 선언할 수 있다.
//return : return 뒤에 따라오는 값을 함수의 결과로 반환한다. 동시에 함수를 종료시킨다.
함수이름();
함수이름( 인자1, 인자2, 인자3 );
var r = 함수이름();
var r = 함수이름( 인자1, 인자2, 인자3 );