개발

js null 과 undefined

explosion149 2024. 11. 6.
let b = null;
console.log(b); // null
null과 undefined는 JavaScript에서 자주 사용되는 두 가지 특별한 값으로, 
둘 다 "값이 없음"을 나타내지만 그 의미와 사용 방식에서 차이가 있습니다.

 

 

 

 

undefined

 

undefined는 변수가 선언되었지만 값이 할당되지 않은 상태를 나타냅니다. 

즉, 변수가 존재하지만 그 값이 정의되지 않은 경우입니다.

 

 JavaScript에서 변수를 선언하고 초기화하지 않으면, 

그 변수의 값은 자동으로 undefined로 설정됩니다.

 

let a;
console.log(a); // undefined

 

함수의 반환값: 함수가 명시적으로 값을 반환하지 않으면, 그 함수의 반환값은 undefined가 됩니다.

 

function myFunction() {
    // 아무것도 반환하지 않음
}
console.log(myFunction()); // undefined

 

객체의 속성: 객체에 존재하지 않는 속성에 접근할 경우에도 undefined가 반환됩니다.

 

const obj = { name: 'Alice' };
console.log(obj.age); // undefined

 

 

null

 

null은 "의도적으로 값이 없음"을 나타내는 값입니다. 

즉, 변수가 비어 있거나 값이 없음을 명시적으로 표현할 때 사용됩니다.

 

null은 개발자가 변수에 "아무것도 없음"을 명시적으로 할당할 때 사용합니다.

 

let b = null;
console.log(b); // null

 

의도적인 비어 있음: null은 객체가 존재하지 않거나, 

어떤 값이 없음을 나타내기 위해 사용됩니다. 

예를 들어 데이터베이스에서 값을 찾지 못했을 때 null을 반환할 수 있습니다.

 

 

JavaScript에서 undefined와 null은 서로 다른 타입을 가지지만, 

둘 다 "값이 없음"을 나타내는 데 사용됩니다. typeof 연산자를 사용하여 이들의 타입을 확인할 수 있습니다.

 

console.log(typeof undefined); // "undefined"
console.log(typeof null);      // "object"

 

undefined와 null은 동등 비교(==)를 사용할 경우 같다고 평가됩니다. 

그러나 엄격한 동등 비교(===)를 사용할 경우 서로 다르다고 평가됩니다.

 

console.log(null == undefined);  // true
console.log(null === undefined); // false

 

 

 

 

 

 

 

'개발' 카테고리의 다른 글

js record와 호이스팅  (0) 2024.11.06
js 실행 컨텍스트 와 콜 스택  (1) 2024.11.06
js 불변객체  (0) 2024.11.06
js 데이터 타입 과 메모리 관리  (4) 2024.11.05
js Set  (0) 2024.11.05

댓글

💲 추천 글