자바스크립트 undefined 와 null 의 차이
javascript 2017. 6. 11. 23:39
728x90
반응형
자바스크립트의 undefined 는 변수에 값을 만든 후 초기화 하지 않은 상태 입니다.
1 | var data1; | cs |
이렇게 변수를 만들면 다음과 같이 출력됩니다.
보통 변수를 만들면 어떤 데이터형을 저장할지 값을 초기화 시킵니다.
1 2 3 4 5 6 7 8 9 10 | // 숫자형 var num = 0; // 문자형 var str = ""; // 논리형 var state = false; //... | cs |
이렇게 변수에 값을 다음과 같은 값을 넣어 해당하는 변수가 어떤 데이터를 가지고 있는지 알 수 있습니다
------
null 은 아무것도 참조하고 있지 않다 라는 의미 입니다.
null 은 주로 객체(array, object)를 담을 변수를 초기화 할 때 사용합니다.
1 2 | // 객체형 var nu1 = null; | cs |
-------
undefined 와 null은 같은것일까요?
아랫 부분은 비교 연산자를 써서 데이터를 비교했습니다.
이 부분을 보시면
== 을 썻을 때는 true 가 출력되지만
=== 을 썼을 때는 false가 출력됩니다.
== 는 자료형이 다르면 자동 형변환으로 자료형을 강제로 맞춰서 비교합니다.
간단한 예로 다음 스샷을 보시면
여기서 변수 num과 변수 str 은 1이라는 값을 가지고 있지만 == 를 사용했을 때에는 true를 출력하지만,
=== 를 사용하여 자료형 까지 엄격하게 비교했을 때에는 false를 출력합니다.
undefined 와 null 은 둘다 값이 없기 때문에 == 를 통해서는 true를 출력하겠지만,
=== 을 통해 자료형 자체가 다르다 라는걸 알 수 있습니다.
반응형
'javascript' 카테고리의 다른 글
[함수] 매개변수를 선언하지 않고 매개변수의 값에 접근하는 방법 (0) | 2017.07.16 |
---|---|
전역변수 차이 (2) | 2017.06.15 |
setInterval(), clearInterval(), setTimeout() (0) | 2015.05.07 |
객체의 속성 추가와 제거 (3) | 2015.05.05 |
객체와 관련된 키워드 in, with (0) | 2015.05.05 |