상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 타입스크립트에서 null과 undefined의 차이는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
타입스크립트(TypeScript)에서 `null`과 `undefined`는 모두 "<a href='https://sangseek.com/sangseeks/값이 없음/ko'>값이 없음</a>"을 나타내는 특수한 값이지만, 그 의미와 사용 방식은 다릅니다. 이 두 가지 개념은 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트(JavaScript)에서 유래했으며, 타입스크립트는 이를 명확하게 구분하여 타입 시스템을 강화하고 있습니다. 1. 정의 - `null` : `null`은 의도적으로 "값이 없음"을 나타내는 값입니다. 즉, 변수나 객체가 존재하지만 그 값이 비어있음을 명시적으로 표현할 때 사용됩니다. 예를 들어, 객체를 초기화할 때 나중에 값을 할당할 의도로 `null`을 사용할 수 있습니다. - `undefined` : `undefined`는 변수가 선언되었지만 값이 할당되지 않은 상태를 나타냅니다. 즉, 변수는 존재하지만 그 값이 정의되지 않은 상태입니다. <a href='https://sangseek.com/sangseeks/자바스크립트/ko'>자바스크립트</a>에서 함수가 반환값을 명시하지 않으면 기본적으로 `undefined`를 반환합니다. 2. 사용 예 ```typescript let a: number | null = null; // a는 null로 초기화됨 let b: number | undefined; // b는 선언되었지만 값이 없음 console.log(a); // null console.log(b); // undefined ``` 3. 타입 시스템에서의 차이 타입스크립트에서는 `null`과 `undefined`를 명시적으로 타입으로 사용할 수 있습니다. 기본적으로 `strictNullChecks` 옵션이 활성화되어 있다면, `null`과 `undefined`는 다른 타입으로 취급됩니다. 이 옵션이 활성화되면, `null`과 `undefined`는 각기 다른 값으로 간주되며, 이를 통해 코드의 안정성을 높일 수 있습니다. ```typescript let c: string | null = null; // c는 null을 가질 수 있음 let d: string | undefined; // d는 undefined를 가질 수 있음 d = "Hello"; // 유효 c = "World"; // 유효 ``` 4. 기본값과의 관계 `undefined`는 변수가 선언되었지만 초기화되지 않은 상태를 나타내므로, 자주 기본값을 설정할 때 사용됩니다. 반면, `null`은 명시적으로 값이 없음을 나타내기 위해 사용됩니다. 예를 들어, 함수의 매개변수에 기본값을 설정할 때 `undefined`를 사용하여 기본값을 제공할 수 있습니다. ```typescript function greet(name: string | undefined = "Guest") { console.log(`Hello, ${name}!`); } greet(); // Hello, Guest! greet("Alice"); // Hello, Alice! ``` 5. 비교 `null`과 `undefined`는 자바스크립트에서 <a href='https://sangseek.com/sangseeks/동등/ko'>동등</a> 비교(`==`)를 사용할 경우 동일하게 평가됩니다. 그러나 엄격 비교(`===`)를 사용할 경우 서로 다르게 평가됩니다. ```javascript console.log(null == undefined); // true console.log(null === undefined); // false ``` 타입스크립트에서도 이러한 동작은 동일하게 적용됩니다. 6. 결론 타입스크립트에서 `null`과 `undefined`는 모두 "값이 없음"을 나타내지만, 그 의미와 사용 방식은 다릅니다. `null`은 의도적으로 값이 없음을 나타내는 반면, `undefined`는 값이 할당되지 않은 상태를 나타냅니다. 타입스크립트의 강력한 타입 시스템을 활용하여 이 두 가지를 명확하게 구분하고 적절히 사용하는 것이 중요합니다. 이를 통해 코드의 가독성과 안정성을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기