Study JS for me/Keyword
Null Undefined
be well
2019. 11. 8. 18:46
Null & undefined
두 타입은 모두 자바스크립트에서 '값이 없음' 을 의미하지만 차이가 있습니다.
요약해서 설명하자면 null 과 undefined 는 차이는 등록, 저장 여부입니다.
null 은 값이지만 의미없는 특별한 값이 등록되어 있는 것이고,
undefined 는 등록이 되어있지 않기 때문에 초기화도 정의되지 않은 것입니다.
undefined 는 미리 선언된 전역 변수(global property)이며, null 은 선언,등록을 하는 키워드입니다.
undefined 는 변수를 선언만 하더라도 할당되지만 null 은 변수를 선언한 후에 null 로 값을 할당합니다.
undefined 는 기본적으로 값이 할당되지 않은 변수로 정의되지 않은 것, 존재하지 않는 것들의 값입니다.
undefined 는 데이터 타입이며 값입니다.
let und;
console.log(und) // undefined
let undi = undefined
console.log(undi) // undefined
var obj = {}
console.log(obj.foo) // undefined
null 은 명시적으로 값이 '비어있음' 을 의미합니다. null 은 아무것도 참조하지 않습니다.
null 은 데이터 타입이며 할당되어 존재할 수 있는 값입니다.
let nul = null;
console.log(nul) // null
null & undefined 공통점
- falsy 한 value
- primitive type
null == undefined // true
// 강제 형변환으로 인해 아래 식도 성립하게 됩니다.
let check = (val = 'null or undefined?') => {
console.log(val);
}
check("I don't know") // 'I don't know'
check() // 'null or undefined?'
check(null) // null
check(undefined) // 'null or undefined?'
Tip
null 의 typeof 가 object 인 이유
FEDevelopers/tech.description
기술 문서 정리하는 저장소. Contribute to FEDevelopers/tech.description development by creating an account on GitHub.
github.com