본문 바로가기
프로그래밍/Javascript

JavaScript 기초 : 자료형 7. null과 undefined

by 조크리 2020. 9. 4.
반응형

JavaScript 자료형 마지막!

JavaScript자료형에는 숫자형, 문자형, 불린 등이 있다. 

값을 저장할 때 아무것도 저장을 안하는 경우도 있고 의도적으로 null값을 저장하기도 한다. 

두 경우가 콘솔에 다르게 표시되는데 이번 글에서는 null과 undefined에 대해 알아보려 한다. 

 

 

7.  null과 undefined 

 

둘 다 값이 없다는 의미이다! 

하지만 완전히 다르다. 

 

???

무엇이 다른지 살펴보자!

 

null은 값이 없다는 것을 의도적으로 표현할 때 사용한다. 

undefined는 코드를 실행할 때 값이 없다는 것을 확인할 수 있는 것이다.

 

 둘을 명확하게 이해하지 못한다면 코드를 작성할 때 실수가 생긴다. 

이해 필수!!!

 

1) 변수 지정을 할 때 아무 값을 안 넣은 경우

변수 Yunju 값에 아무 값도 지정되어 있지 않다!

 

 

자바스크립트에서는 값이 주어지지 않은 변수에는 기본적으로 콘솔에 undefined가 출력된다. 

다시 말해 undefined는 선언을 한 다음 값을 정해주지 않았다는 것을 의미한다.

 코드를 실행할 때 지정된 값이 없다는 것을 콘솔에서 확인할 수 있다. 

 

2) 변수 지정을 할 때 null값을 넣은 경우 

JS변수에 null을 선언해주었다.

 

의도적으로 값이 없다는 것을 표현할 때 null을 쓴다. 

Yunju변수와 JS변수는 전혀 다르다. 

Yunju 변수는 변수 값이 선언되어 있지 않고 JS변수는 null이 선언되어 있다. 

그래서 콘솔에서 보이는 값도 다르다.

 

의미는 모두 값이 없다는 것을 표시하는 것이지만

값이 지정되지 않았는지,

값이 없음을 의도적으로 표현한 것인지가 다르다!

 

예를 들어 살펴보자!

let x;
console.log(x);

let y = x;
x = null;
console.log(y);
console.log(x);

x = y;
console.log(x);

 먼저 아무런 값을 할당하지 않고 변수 x를 선언했다.

그러므로 일단 undefined가 출력된다. 

 

그리고 변수 y 값에 변수 x가 가지고 있는 undefined값을 할당해 주었다.

x에 null을 할당하더라도 일단 y값은 undefined 값이 할당된 상태다.

그러므로 또 undefined가 출력된다. 

 

x는 이제 null이 할당되었으므로 null이 출력된다. 

 

다시 x에 y가 가지고 있는 undefined값을 할당해주었다. 

그러므로 undefined가 출력된다. 

 

정리하면

undefined

undefined

null

undefined

가 출력된다. 

 

null과 undfined 정리까지 마무리가 되었다. 

자바 스크립트의 기본적인 자료형에 대해 모두 살펴보았는데 여러 번 코드를 작성하면서 확인하고 익혀야한다.

파이썬을 배우면서 익혔던 기본적인 원리들은 그대로 적용되지만 기호가 조금씩 다르고 우선순위도 좀 다른 것 같다. 

 

 

 

다음 글부터는 함수, return문, 변수, 상수 등 좀 더 심화된 개념을 정리해보려한다. 

 

 

 

 

반응형