JavaScript/JavaScript 문법

[JavaScript]Boolean으로 변환하는 방법

DevStory 2022. 10. 1.

Boolean으로 변환하는 방법

이번 포스팅은 JavaScript에서 값을 Boolean으로 변환할 수 있는 두 가지 방법을 소개합니다.


방법 1. !! 연산자

Not 연산자인 ! 연산자는 값을 Boolean으로 변환하고 값을 부정합니다. 그다음 ! 연산자를 추가적으로 호출하여 부정된 Boolean 값을 원래 Boolean 값으로 변환합니다.

 

예를 들어, true에 !! 연산자를 사용하는 경우 다음과 같이 동작합니다.

// true 값을 부정합니다.
!true    // false

// 부정된 값을 다시 복원합니다.
!!true   // true
!(!true) // true

!! 연산자는 일반적으로 많이 사용되는 방법이지만, 다른 개발자가 !! 연산자 동작 방식에 대한 이해도가 낮을 수 있습니다.

 

[Number 타입]

JavaScript에서 0을 제외한 모든 숫자는 true로 간주합니다. 따라서, 다음 소스 코드를 실행하면 'false'가 출력됩니다.

if(0) {
  console.log('true');
} else {
  console.log('false');
}
// false

즉, 0은 false이므로 !! 연산자를 사용하면 false를 반환합니다.

!!0; // false

 

[String 타입]

JavaScript에서 문자열 빈 값("")을 제외한 모든 문자열은 true로 간주합니다. 따라서, 문자열 빈 값("")에 !! 연산자를 사용하면 false를 반환하고 빈 값("")이 아닌 문자열에 !! 연산자를 사용하면 true를 반환합니다.

!!"Hi"; // true
!!"";   // false

 

[null, undefined, NaN]

JavaScript에서 null, undefined, NaN은 false로 간주합니다. 따라서, !! 연산자를 사용하면 false를 반환합니다.

!!undefined; // false
!!null;      // false
!!NaN;       // false

방법 2. Boolean 메서드

두 번째 방법으로 Boolean() 메서드를 사용하여 값을 Boolean으로 변환할 수 있습니다. 이 방법의 장점은 값을 Boolean으로 변환한다는 것을 바로 이해할 수 있다는 점입니다. 단점은 !! 연산자보다 많은 타이핑을 요구합니다.

 

다음 예제는 Number, String, null, undefined, NaN을 Boolean() 메서드를 사용하여 Boolean으로 변환합니다.

// Number 타입
Boolean(10);  // true
Boolean(-10); // true
Boolean(0);   // false

// String 타입
Boolean("Hi"); // true
Boolean("");  // false

// null, undefined, NaN
Boolean(undefined); // false
Boolean(null);      // false
Boolean(NaN);       // false
반응형

댓글