공부/이모저모

JavaScript에서의 null 처리(null과 undefined의 차이 / Object가 비어있는지 확인하는 방법)

JUNFUTURE 2024. 1. 30. 12:15

JavaScript에서 null과 undefined는 모두 값이 없음을 나타내지만, 그 의미와 사용되는 경우에 약간의 차이가 있습니다.

 

1. undefined

JavaScript에서 undefined는 변수에 값이 할당되지 않은 상태를 나타냅니다. 즉, 변수가 선언되었지만 아직 값이 초기화되지 않은 경우를 가리킵니다.

let x;
console.log(x); // undefined​

함수의 매개변수가 전달되지 않은 경우에도 해당 변수는 undefined입니다.

function foo(y) {
    console.log(y); // undefined
}

foo();​​

 

 

 

2. null

반면에 null은 개발자가 명시적으로 값이 없음을 나타내기 위해 사용됩니다. 즉, 변수에 값이 없음을 나타내는 데 사용됩니다.보통은 코드의 흐름 상에서 어떤 값이 없음을 나타내고자 할 때 null을 사용합니다.

let z = null;
console.log(z); // null​

보통은 코드의 흐름 상에서 어떤 값이 없음을 나타내고자 할 때 null을 사용합니다

 

따라서 undefined는 변수가 선언되었지만 값이 할당되지 않은 상태를 나타내고, null은 개발자가 명시적으로 값이 없음을 나타냅니다.

 

 

3. Object로 선언했을때 null 검사

만약에 object 형태 {} 로 선언된 경우, ==null 하면 null 검사가 안된다.

mediaservers = {}
if(Object.keys(mediaservers).length === 0)

 

그래서 Object에 key가 있는지 여부로 검사해야한다.

 

미치겠다 진짜.