웹/JavaScript

[JavaScript] undefined vs null (undefined과 null의 차이점)

세고래 2021. 6. 15. 03:29

※배워가고 있는 학생입니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다😁

 

자바스크립트 데이터 타입 중 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