※배워가고 있는 학생입니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다😁
자바스크립트 데이터 타입 중 null과 undefined의 차이를 잘 몰라서 정리해두려고 한다.
사실 그렇게까지 중요한지는 잘 모르겠지만 .. 그냥 궁금해서 찾아보았다!
배우는 입장에서 중요하고 중요하지 않고를 따져가면서 하기엔 넘 건방지니까,,
null과 undefined는 모두 자바스크립트에서 '값이 비어있음'을 나타낸다
1) undefined
- 값이 할당되지 않은 변수의 기본값. 즉, 변수를 선언할 때 값을 대입하지 않으면 undefined로 저장
- 반환할 결과값이 없을 때.
- 타입이자, 값
let empty; //undefined
console.log(typeof empty); //undefined
2) null
- 개발자들이 값을 의도적으로 값을 지웠다는 의미를 부여. (명시적으로 이 값이 비어있음을 나타낼때)
- typeof 의 결과값이 'object'인데 원래는 null이 나오는 게 맞지만 언어가 만들어진 초창기 실수로 인해 'object'로 나옴
즉, null은 object가 아니지만 typeof 를 사용하면 object로 나오므로, 변수가 null 타입인지 확인할 때는 일치 연산자(===)를 사용해서 변수의 값을 직접 확인해야 함!
let nullVal=null; //null 타입 변수
console.log(typeof nullVal); //object (이렇게 사용하면 안 됨!)
console.log(nullVar === null); //true
3) 참고자료
- 인사이드 자바스크립트 - 송형주, 고현준
- ZeroCho TV - 자바스크립트 강좌 2-8. undefined와 null
https://www.youtube.com/watch?v=seNDdiVEjvA&list=PLcqDmjxt30RvEEN6eUCcSrrH-hKjCT4wt&index=12
728x90
'웹 > JavaScript' 카테고리의 다른 글
[JavaScript] function 에서의 세미콜론(;) (0) | 2021.07.20 |
---|---|
[JavaScript] 클릭한 요소 인덱스 구하기 (querySelectorAll, onclick...) (0) | 2021.06.26 |
[JavaScript] 숫자 자료형(number) (0) | 2021.06.15 |
[JavaScript] typeof 연산자 (0) | 2021.06.05 |
[JavaScript] 진수변환 toString() / parseInt() (0) | 2021.05.20 |