저번 글에서 자바스크립트의 6가지 기본 데이터 타입에 대해 이야기 하였다.
- Number
- String
- Boolean
- Null
- Undefined
- Symbol
이번 글에선 Boolean부터 Symbol까지 알아보자
Boolean은 논리적 요소를 나타낸다.
그리고 true, false 두 가지의 값을 가질 수 있다.
// 요로케 true, false의 값 가진다.
const iAmSmart = true;
const iAmSexy = false;
Null은 값이 비어있음을 의미한다.
그리고 Boolean문맥 중 거짓으로 취급한다
거짓같은 값 ( Falsy )
거지거짓같은 값은Boolean문맥 중 거짓으로 취급하는값을 말한다.
- false
- 0
- -0
- 0n
- ""
- null
- undefined
- NaN
조건문 예제
false로 취급하기 때문에 모두 실행 되지 않는다.if(false) if(0) if(null) if(nudefined)논리 연산 예제
AND 연산시 한 쪽 객체가 거짓같은 값이라면 해당 객체를 반환한다.console.log(false && 5); // false console.log(null && 5); // null console.log("banana" && 0); // 0 console.log("mango" && undefined); // undefined
Undefined는 자바스크립트가 가진 독특한 타입인데, 선언은 했지만 값을 할당하지 않은 변수가 가지는 값이다.
let undef; // 선언은 했지만 값을 할당하진 않음
console.log(undef); // undefined
null은 비어있는 값이고, undefined은 값을 할당하지 않은 것이다.
비슷해보이지만 엄연히 다른 것임을 명심하자.
Symbol은 유일한 식별자를 만들 때 사용한다. 따라서 유일성이 보장된다.
const sym1 = Symbol(); // new를 사용하지 않는다.
const sym2 = Symbol();
// symbol은 위처럼 형태가 같아도 '유일한 식별자'를 만든다.
console.log(sym1 === sym2); // false
console.log(sym1 == sym2); // false
// ( )안에 설명을 붙일 수 있다.
const mySym = Symbol("mySym");
console.log(mySym); // Symbol(mySym)
끝! 🐭