[wecode/pre/Replit] 02. Variables - 05. null & undefined
2022. 8. 31. 21:00ㆍpre-JS-Replit
Read.me
# 05. null & undefined
[Variables] 5. `null` & `undefined`
`null`과 `undefined`는 모두 자바스크립트의 데이터 타입입니다.
`undefined`는 선언은 됐지만 아직 value가 할당되지 않은 경우를 의미합니다.
null은 '빈 값(blank)'을 의미하는데 사용자가 준 value입니다. 그래서 `undefined`와 다르게 자바스크립트가 자동적으로 null 이란 값을 줄 수는 없습니다.
포괄적인 의미로 '값이 없다'는 점에서 `null`과 `undefined`가 비슷한 것 같지만 둘은 엄격하게는 같지 않습니다.
```js
let name; // undefined
let name = null; // null
console.log(null == undefined); // true
console.log(null === undefined); // false
```
엄격일치연산(`===`)는 value뿐만 아니라 `type`도 같아야 true가 나옵니다.
그러면 `null`과 `undefined`의 type은 어떤 타입일까요?
타입을 알아보기 위해서 'typeof' 연산자를 사용해봅시다.
```js
console.log(typeof null); // object
console.log(typeof undefined); // undefined
```
`null`의 type이 object가 나왔습니다. 왜일까요?
`null`은 위에 설명한대로 '값이 없음(blank)'을 의미하는 '할당된' value이기 때문입니다.
> 이번 세션은 과제가 없습니다. 다음으로 진행해주세요 :)
index.js
let name; // undefined
let name = null; // null
console.log(null == undefined); // true
console.log(null === undefined); // false (엄격일치연산(===)는 value뿐만 아니라 type도 같아야 true가 나옵니다)
console.log(typeof null); // object
console.log(typeof undefined); // undefined
▶ undefined
▷ 값이 등록되어있지 않음
▶ null
▷ 의도적으로 비워놓았을 때
▷ 값이지만 의미가 정해지지 않음
▷ "값이 없음"으로 이해하면 됨
▶ == vs ===
▷ ==는 값(value)만 같으면 true
▷ ===(엄격 일치 연산)는 값(value)뿐만 아니라 자료형(type)도 같아야 true
e.g 1 == "1" -> true
1 === "1" -> false
console
-
'pre-JS-Replit' 카테고리의 다른 글
[wecode/pre/Replit] 03. String - 03. averageLength (0) | 2022.09.01 |
---|---|
[wecode/pre/Replit] 03. String - 01. getFullName (0) | 2022.09.01 |
[wecode/pre/Replit] 02. Variables - 04. 변수 이름 정하기* (0) | 2022.08.31 |
[wecode/pre/Replit] 02. Variables - 03. 값이 할당되지 않은 변수 (0) | 2022.08.31 |
[wecode/pre/Replit] 02. Variables - 02. 변수와 대입연산자 (0) | 2022.08.31 |