## **undefined: 뜻과 사용법**
### **정의**
undefined라는 용어는 프로그래밍에서 **정의되지 않은 값**을 나타냅니다. 변수가 할당되지 않았거나 초기화되지 않은 경우 undefined라는 값이 반환됩니다.
### **사용법**
undefined는 일반적으로 다음과 같은 경우에 사용됩니다.
* **변수 선언 후 할당되지 않은 경우:** `let x;`
* **함수 매개변수가 전달되지 않은 경우:** `function myFunc(x) { … }`
* **없는 프로퍼티에 접근한 경우:** `const obj = {}; console.log(obj.name);`
* **배열의 범위를 벗어난 인덱스에 접근한 경우:** `const arr = []; console.log(arr[5]);`
### **undefined와 null의 차이점**
undefined와 null은 종종 혼동되지만 둘 사이에는 중요한 차이점이 있습니다.
* **undefined:** 정의되지 않은 값을 나타냄
* **null:** 명시적으로 정의된 값으로, “빈 값” 또는 “없는 값”을 나타냄
다음 표는 undefined와 null의 주요 차이점을 보여줍니다.
| 특징 | undefined | null |
|—|—|—|
| 값 | 정의되지 않은 값 | 명시적으로 정의된 “빈 값” |
| 할당 | 변수를 선언했지만 값을 할당하지 않은 경우 | 값을 명시적으로 null로 할당한 경우 |
| 사용 | 오류 처리, 값이 없는 경우 | 데이터베이스에 값이 없는 경우, 빈 입력 |
| 타입 | 원시 값(primitive value) | 객체(object) |
### **undefined를 확인하는 방법**
undefined 값을 확인하는 방법에는 여러 가지가 있습니다.
* **엄격한 비교연산자(===):** `x === undefined`
* **비엄격한 비교연산자(==):** `x == undefined`
* **typeof 연산자:** `typeof x === ‘undefined’`
### **undefined 처리**
undefined 값을 처리하는 것은 중요합니다. 이를 위해서는 다음과 같은 방법을 사용할 수 있습니다.
* **초기화:** 변수를 초기값으로 초기화하여 undefined가 되는 것을 방지
* **조건문:** undefined 값일 때 다른 코드 블록을 실행하도록 조건문을 사용
* **삼항 연산자:** undefined 값에 대한 대체 값을 제공하는 삼항 연산자를 사용
* **기본값:** 함수 매개변수에 undefined가 전달될 때를 대비하여 기본값을 제공
### **주의 사항**
undefined 값을 다룰 때는 다음 사항에 주의해야 합니다.
* **실수로 할당하지 않음:** undefined 값이 의도적으로 할당되지 않았는지 확인
* **오류 처리:** undefined 값이 오류를 유발하지 않도록 처리
* **값의 유형 확인:** undefined 값과 다른 유형의 값(예: null)을 구분
* **코드 가독성:** undefined를 처리하는 코드를 명확하고 이해하기 쉽게 작성
### **결론**
undefined는 프로그래밍에서 정의되지 않은 값을 나타냅니다. 변수가 할당되지 않았거나 초기화되지 않은 경우 발생합니다. undefined와 null은 서로 다른 용도를 가지며, undefined 값을 확인하고 처리하는 것이 중요합니다. 이러한 사항에 주의하면 undefined를 효과적으로 사용하여 강력하고 안정적인 코드를 만들 수 있습니다.