JavaScript - 조건문과 연산자

uk·2022년 9월 12일

JavaScript

목록 보기
4/19

조건문

if문

if (조건1) {
	return // 조건1이 통과할 경우 실행
} else if (조건2) {
	return // 조건 1이 통과하지 않고 조건 2가 통과될 경우 실행
} else {
	return // 모든 조건이 통과하지 않는 경우 실행
}
  • 조건에는 Boolean 으로 결과가 나오는 비교구문이 들어간다.
  • else if문은 갯수 제한이 따로 없고 if문과 else if문 중에 1개의 조건만 실행된다.
  • 이중 if문은 첫 if문을 만족하지 않으면 안에 포함된 if문도 실행되지 않는다.

switch문

 switch (조건) {
    case value1 :  // 조건과 case가 일치하면 실행문 A 실행
      return 실행문 A;
      break;  // swtich { } 코드 블록 탈출

    case value2 : 
      return 실행문 B;
      break; 
     
    case value3 :
	  return 실행문 C;
      break;
      
    default :  // 일치하는 case가 없는 경우 실행
      return 실행문 D;
      break;
}
  • switch문을 사용할 때는 반드시 break가 필요한데, break는 해당 코드를 종료하고 더 이상 코드를 실행하지 않도록 한다.
  • break가 없는 경우 계속해서 다음의 case문을 확인하게 되며 의도하지 않은 구문이 실행될 수 있다.
  • default는 필요할때만 선언 해도 무방하고 반드시 switch문의 마지막일 필요는 없다.

Falsy한 값

  1. undefined
  2. false
  3. null
  4. NaN
  5. ''
  6. 0
  • boolean값에서 false로 평가되는 값을 말한다. 
  • Falsy값 이외의 모든 값들은 true로 평가되는 Truthy값이다.

비교 연산자

  1. ===, !== : 같거나 같지 않은지 엄격한 비교를 한다.
  2. <, > : 크고 작음을 비교한다.
  3. <=, >= : 크거나 같은지 작거나 같은지 비교한다.
  • 비교후 boolean값인 true와 false로 반환한다.

동등 연산자와 일치 연산자

'1' == 1  // true
'1' === 1   // false

1 == true  // true
1 === true   // false

'' == 0  // true
'' === 0  // false

undefined == null  // true
undefined === null  // false

[0] == 0  // true
[0] === 0   // false
  • 동등 연산자(==, equal)와 일치 연산자(===, strict equal)는 두 개의 피연산자가 서로 같은지 비교한다.
  • 동등 연산자는 두 피연산자의 값이 같으면 true를 반환하지만 타입이 서로 다르면 비교를 위해 강제로 타입을 같게 변환한다.
  • 그러므로 두 피연산자의 타입과 값이 모두 같아야 true를 반환하는 일치 연산자를 사용하는것이 좋다.

논리 연산자

1. AND(&&)

true && true   // true
true && false  // false
false && true  // false
false && false // false

'java' && 'script'  // 'script'
// 좌항에서 우항으로 평가가 진행되기 때문에 두번째 피연산자 까지 평가해야 하므로 두번째 피연산자인 'script'를 반환
  • AND 연산자는 && 기호를 사용하고 두 피연산자가 모두 참일 때만 true를 반환한다.
  • '~~~ 이고'

2. OR(||)

true || true   // true
true || false  // true
false || true  // true
false || false // false

'java' || 'script' // 'script'
// 첫번째 피연산자 'java'는 true이기 때문에 'java'를 반환
  • OR 연산자는 || 기호를 사용하고 두 피연산자 중 하나라도 참이면 true를 반환한다.
  • '~~~ 이거나'

단축 평가란?

  • AND 연산자와 OR 연산자는 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는데, 이를 단축 평가라고 한다.

  • 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말한다.


3. NOT(!)

!true   // false
!'123'  // false
!123    // false
!undefined, false, null, NaN, '', 0 // true
  • truthy, falsy 여부를 반전시킨다.

0개의 댓글