공부하는 블로그

[JavaScript] 자바스크립트 언어의 null 과 undefined 본문

Develop/JavaScript

[JavaScript] 자바스크립트 언어의 null 과 undefined

모아&모지리 2018. 2. 22. 16:42

* null

  - 아무 값도 갖지 않음을 의미한다.

  - 객체가 없음을 뜻한다.

  - 주로 객체를 담을 변수를 초기화 할 때 많이 사용한다.


ex) null 값으로 데이터를 초기화하는 경우

1
2
3
4
5
6
7
8
9
10
11
// 숫자 변수 초기화
var data1 = 0;
 
// 문자 변수 초기화
var data2 = "";
 
// 논리형 변수 초기화
var data3 = false;
 
// 객체 변수 초기화
var data4 = null;
cs

// 이처럼 초깃값으로 null을 넣으면 소스코드 어디에선가 이변수에 클래스의 인스턴스를 대입함

var data3 = null ... data3 = new MyClass


* undefined

  - 초기화되어 있지 않은 변수에 접근하려고 할 때 얻는 값이다.

  - 존재하지 않는 객체 프로퍼티 값에 접근하려고 할 때 얻는 값이다.

  - 존재하지 않는 배열의 원소 값에 접근하려고 할 때 얻는 값이다.

  - 반환값이 없는 함수의 반환값이다.

  - 실 인자가 전달되지 않은 형식인자이다.




자바스크립트 키워드 null은 아무런 값도 나타내지 않는 특수한 값이다. null은 보통 객체타입의 특수한 값, 즉 어떠한 객체도 나타내지 않는 값으로 취급한다. null은 다른 모든 값들과 구분되는 고유한 값이다. 어떤 변수가 null값을 가지면 여러분은 그 변수가 유효한 객체나 배열, 숫자 , 문자열또는 불리언 값을 담고 있지 않다는 것을 알 수 있다.


null은 불리언 문맥에서 사용되면 false로 변환된다. 숫자 문맥에서 사용되면 0으로 변환되고 문자열 문맥에서 사용되면 null로 변환된다.



자바스크립트에서 종종 사용되는 또 다른 특수한 값으로 undefined 값이 있다. undefined는 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하거나, 존재하지 않는 객체 프로퍼티에 접근할 경우 반환되는 값이다. 이 특수한 undefined값은 null과 동일한 값이 아님을 유념하라.


ex) 변수를 선언하고 그 변수에 값을 대입하지 않은 경우



실행결과


// 변수를 선언한 후 아무런 값을 넣지 않은 경우 변수에는 undefined라는 값이 기본적으로 저장됩니다.


ex)  함수 인자 값 없이 함수를 호출하는 경우

실행결과


// 즉, 매개변수(인자)가 있는 함수를 인자 값 없이 호출하는 경우에도 해당 매개변수에 undefined가 저장됩니다.


ex) 존재하지 않는 객체의 프로퍼티에 접근하는 경우


1
2
3
4
5
6
function MyClass() {
  thid.name="ddandongne";
}
var test1 = new MyClass();
alert("test.name ="+test1.name);
alert("test1.userName"+test1.userName);
cs



// 다음과 같이 존재하지않는 변수에 접근하는 경우 undefined가 출력됩니다.

// 즉, 변수를 선언하고 값을 아무것도 넣지 않으면 undefined이 기본값으로 들어간다.


정리) undefined 변수의 기본 초깃값 // null은 객체를 담을 변수를 초기화 할 때 사용함

'Develop > JavaScript' 카테고리의 다른 글

[Javascript] 프로토타입 이해하기  (0) 2018.03.06
JavaScript 예제 Test용 작업  (0) 2018.03.06
(JavaScript) 예약어  (0) 2018.02.20
JavaScript와 Java 비교  (0) 2018.02.20
Document Object Model (DOM)  (0) 2018.02.20