null 과 undefined

eeensu·2024년 1월 29일
0

javascript

목록 보기
25/31
post-thumbnail

null

null 은 해당 데이터는 명시적으로 값이 없음을 나타내기 위해 사용된다.
변수를 초기화할 때, null 을 할당하여 명시적으로 비워둘 수 있다.

let variable2 = null; 			// 명시적으로 값이 없음을 나타냄
console.log(variable2); 		// 출력 결과: null

null은 객체가 어떠한 값을 가지고 있지 않음을 나타내는데 종종 사용된다. 예를 들어, 어떤 객체의 특정 속성이 존재하지 않을 때, 그 속성의 값은 null로 할당될 수 있다.

let person1 = {
  name: 'Tom',
  adress: 'Seoul'					// 어떤 객체는 특정 값을 가지고 있지만
};

let person2 = {
  name: 'John',
  address: null 					// 어떤 객체는 값을 가지고 있지 않을 때, null을 할당
};

typescript에서 활용

null 은 그 자체로 값이자, 타입을 가지고 있다.

let value1: null = null; 								// 변수의 타입을 명시적으로 null로 지정
let value2: string | null = 'programing'; 				// 변수의 타입을 문자열 또는 null로 지정
let value3; 											// 기본적으로 any 타입이 지정됨



undefined

undefined 는 변수에 할당된 값이 없거나, 변수가 선언은 되었지만 초기화되지 않은 경우에 발생한다.
또한 함수에서 명시적으로 값을 반환하지 않으면 해당 함수의 반환 값은 undefined가 된다.

let variable1; 						 // 변수를 선언만 하고 초기화하지 않은 경우
console.log(variable1); 			 // 출력 결과: undefined

function sayHello() {
  console.log('hello!');
}

let result = sayHello();
console.log(result); 				// 출력 결과: undefined

typescript에서 활용

undefined 역시 그 자체로 값이자, 타입을 가지고 있다.

let value4: undefined = undefined; 						// 변수의 타입을 명시적으로 undefined로 지정
let value5: number | undefined = 4; 				// 변수의 타입을 숫자 또는 undefined로 지정



비교

undefinednull은 각각 자체의 값이며, 서로 다르다.

하지만 동등 연산자로 비교하게 되면 자동 타입 변환을 수행해주어 서로 동등한 타입으로 간주한다.

console.log(undefined == null); 							// 출력 결과: true

그러나 일치 연산자로 비교하면 값과 데이터 유형까지 비교하므로 다르게 판별된다. 일치 연산자로 비교하는 것이 더 정확한 결과값을 얻을 수 있다.

console.log(undefined === null); // 출력 결과: false

요약하자면, undefined는 javascript가 자동으로 할당하는 값으로, 값이 할당되지 않았을 때 등의 상황에서 나타낸다. 반면에 null은 개발자가 의도적으로 변수에 값이 없음을 나타내기 위해 할당하는 값이다.

profile
안녕하세요! 26살 프론트엔드 개발자입니다! (2024/03 ~)

0개의 댓글