본문 바로가기

Frontend/Java Script

Java Script - 1. if 조건절 순서의 중요성

여기 2가지 함수 foo, bar 가 있다. 

동일한 조건절, 다른 순서일 때 다른 결과값이 나온다.

function foo(x) {
  if (x < 1) {
    return "Less than one";
  } else if (x < 2) {
    return "Less than two";
  } else {
    return "Greater than or equal to two";
  }
}

 

두번째 함수 bar 

function bar(x) {
	if (x < 2) { 
    	return "Less than two"; 
    } else if (x < 1) { 
    	return "Less than one"; 
    } else { 
    	return "Greater than or equal to two"; 
    } 
}

 

x에 0을 대입했을 때 나오는 결과 값은

foo(0) // "Less than one"

bar(0) // "Less than two"

 

 

이유는 함수에서 순서대로 조건절을 도는데 맞는게 있으면 바로 return이 되어버리기 때문이다.

뒤의 조건절은 거치지 않고 바로 함수를 종료해버린다. 

 

조건절 순서를 짤 때 주의해서 잘 짜야된다는 것을 다시 느낌,, 

 

 

'Frontend > Java Script' 카테고리의 다른 글

Java Script - 3. 함수  (0) 2021.04.12
1. Call Stack  (0) 2021.03.23
Java Script - 2. 객체 값 조회, 가져오기  (0) 2021.03.04