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 |
댓글