2 이외의 타입들 null, undefined, truthy, falsy

source: categories/study/javascript-mdn/javascript-mdn2.md

이외의 타입들

null, undefined

  • 자바스크립트는 의도적으로 값이 없음을 나타내는 값인 null과 초기화되지 않은 값(아직 어떤 값도 할당되지 않은 변수)을 나타내는 undefined 타입의 값인 undefined를 구분합니다.
  • 이후에 변수에 대해 다시 언급하겠지만 자바스크립트에서는 변수에 값을 주지않고 선언하는 것이 가능합니다.
  • 이럴 경우, 변수의 타입은 undefined가 됩니다. undefined 값은 실제 상수입니다.

truthy, falsy

  • 자바스크립트는 truefalse 값 (둘은 모두 키워드로 예약되어있는 값)을 가질 수 있는 부울 타입을 가지고 있습니다.
  • 다음과 같은 규칙에 따라 어떤 임의의 값을 부울 값으로 변환할 수 있습니다.
  1. false, 0, 빈문자열(""), 수가 아님을 뜻하는 NaN, null, 와 undefined는 모두 false가 됩니다.
  2. 다른 모든 값은 true가 됩니다.

이 변환은 Boolean() 함수를 써서 명시적으로 이 작업을 수행할 수 있습니다.

Boolean(''); // false
Boolean(234); // true

하지만 이렇게할 필요는 거의 없다.
자바스크립트는 이러한 변환 작업을 if문과 같이 부울 값이 필요한 경우를 만나게되면 자동으로 변환하기 때문입니다.
이러한 이유로 인해 우리는 가끔 부울 타입으로 변환되었을 때, truefalse이 됨을 의미하는 값들을 각각 ‘참 값'과 ‘거짓 값'으로 부를 것입니다.
또는 각각 참 같은 값(truthy)거짓 같은 값(falsy)라는 식으로 부를 수도 있습니다.

부울 연산자는 논리 연산자 &&(논리합), ||(논리곱), 그리고 !(부정)이 지원됩니다.
아래에서 다시 언급하겠습니다.