자료형 데이터 타입에서 String(문자열), Number(숫자), Boolean(불린) 외에도
null 과 undefined라는 자료형도 있다.
자바스크립트에서는 둘 다 '값이 없다' 라는 같은 의미를 가지고 있으며 쓰임에 차이가 있다.
null & undefined
간단하게 두 차이를 설명하자면
null은 '값이 없다'는 것을 의도적으로 표현할 때 사용하고
undefined는 우리가 직접 값을 표현하기보다 코드를 실행하면서 '값이 없다' 라는 것을 확인 할 수있는 것이다.
그 예시를 한번 살펴보자
let SeopE
console.log(SeopE);
▲먼저 SeopE라는 변수를 만들어주고
아무런 값도 넣어 주지 않은 채 콘솔에 SeopE을 출력해봤다.
undefined 라는 값을 확인 할 수있는데
자바스크립트에서는 값이 주어지지 않은 변수에는 기본적으로 undefined 값을 가지고 있다.
다시 말해서 undefined는 선언을 한 다음 값을 정해주지 않았다는 것을 의미한다.
그리고 의도적으로 비어 있는 값을 표현하고 싶을 때는 'null' 이라는 값을 넣어준다.
let SeopE
console.log(SeopE);
SeopE = null
console.log(SeopE);
다시 말해서 null은 의도적으로 '없다' 라는 의미의 값을 지정할 때 사용하는 자료형이다.
의미는 모두 '값이 없다' 라는 걸 표현하는 것이지만 코드를 작성할 때 선언만 하고 아무런 것도 지정하지 않은 것인지
혹은 '값이 없음'을 의도적으로 표현한 것인지가 이 둘을 구분하는 가장 큰 차이점이라고 할 수있다.
▼ null과 undefined 비교
console.log(null == undefined);
console.log(null === undefined);
동등 비교(==)일 때는 둘 다 비슷한 의미를 가지고 있어서 true가 출력 되지만
일치 비교 (===)일 때는 두 값이 서로 다른 자료형이기 때문에 false가 출력된다.
null & undefined 예시
코드 이해를 돕기위해 컵과 물이라는 변수를 사용하였다
let cup
console.log(cup); //undefined
cup = "물"
console.log(cup); // 물
cup = null
console.log(cup); //null
.
let cup
console.log(cup); //undefined
▲ 처음부터 아무것도 없던 빈 컵을 가져온 것이기 때문에 컵의 상황은 undefined 라고 볼 수있다.
cup = "물"
console.log(cup); // 물
▲ 그러고 나서 이제 컵에 물을 받는데,
컵이라는 변수에 물이라는 값을 넣어주는 것으로 표현해 볼 수가 있다.
cup = null
console.log(cup); //null
▲ 마지막으로 물을 마시며 컵이라는 변수에 null 이라는 값으로 비워준다는 의미로 표현하였다.
쉽게 이해하기위해 예시를 들었을 뿐이고
실제로 코드를 작성하다 보면 훨씬 더 다양한 상황에서 null과 undefined를 볼 수 있을 것이다.
어떤 상황에서건 일단 null은 '의도적으로 없음을 포현' 하는 값이고
undefined는 '처음부터 아무것도 없었다' 는 것을 알려주는 값이라는 것이라고 이해하자.
★ GitHub 주소 (null & undefined)
'JS' 카테고리의 다른 글
(11) JavaScript - 추상화 / 함수의 실행 순서 (0) | 2024.09.23 |
---|---|
(10) JavaScript - 추상화 / 할당 연산자 (Assignment Operators) (0) | 2024.09.20 |
(8) JavaScript - 자료형 / 템플릿 문자열 (Template String) (0) | 2024.09.20 |
(8) JavaScript - 자료형 / 형 변환 (Type Conversion) (0) | 2024.09.19 |
(7)JavaScript - 자료형 / typeof 연산자 (0) | 2024.09.16 |