티스토리 뷰
728x90
제네릭 타입과 any 타입의 가장 큰 차이점은 타입 안전성과 유연성임.
제네릭은 타입을 명확하게 지정하면서도 다양한 타입을 지원할 수 있는 방식임.
제네릭 타입을 사용하면, 그 타입에 따라 함수나 클래스가 구체적으로 동작하게 됨.
즉, 타입을 유지하면서도 코드의 재사용성을 극대화할 수 있음.
제네릭의 특징:
- 타입 안전성 보장: 컴파일 시 타입이 명확하게 지정되므로, 올바른 타입만 처리하도록 코드가 제한됨.
- 유연성: 다양한 타입을 하나의 함수나 클래스에서 처리할 수 있음.
- 타입 추론 가능: 함수나 클래스를 호출할 때, 제네릭이 자동으로 타입을 추론하기 때문에 코드가 더 간결해질 수 있음.
2. any 타입:
any는 모든 타입을 허용하는 타입임. 즉, 어떤 값이든 다 받을 수 있지만, 타입 안전성을 잃게 됨. any를 사용하면 컴파일러가 타입 검사를 하지 않기 때문에 오류를 감지할 수 없고, 코드가 더 불안정해질 가능성이 있음.
any의 특징:
- 유연성은 높지만 위험: 어떤 타입이든 받을 수 있으므로 매우 유연하지만, 잘못된 타입을 사용할 경우에도 오류가 발생하지 않음.
- 타입 안전성 없음: 컴파일러가 타입 오류를 잡아내지 못함.
- 추론 불가: any는 타입이 명확하지 않으므로, 이후 코드에서 해당 값이 어떤 타입인지 알 수 없음.
제네릭 타입은 각 칸에 들어갈 맞춤형 용기를 미리 준비하는 것이라면, any 타입은 어떤 물건이든 던져넣을 수 있는 무한한 크기의 상자에 가깝다고 볼 수 있음. 제네릭은 각 물건의 맞춤형 용기라서 안전하지만, any는 너무 자유로워서 물건이 망가질 위험이 있음.
비교 요약:
- 제네릭 타입 (T): 컴파일 시점에 타입을 지정하고, 지정된 타입에 따라 동작. 타입 안전성을 제공하며, 재사용성이 높음.
- any 타입: 모든 타입을 허용하지만, 타입 검사를 하지 않음. 유연하지만 타입 안전성이 없음. 잘못된 사용을 감지할 수 없음.
728x90
'Web Development > TypeScript' 카테고리의 다른 글
| 자주 사용하는 TypeScript 문법 정리 (0) | 2024.10.12 |
|---|
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이벤트유효성
- Await
- 인스턴스 옵션
- dl
- 리액트 폴더구조
- 리액트
- KoELECTRA
- 콜백callback
- 자연어처리
- 컴포넌트간통신
- 컴포넌트간데이터전달
- defaultparameter
- 사용자정의이벤트
- 로짓함수
- 코랩 워드클라우드 한글깨짐
- PROMISE
- ML
- gradientclipping
- 인스턴스 구조
- async
- 데이터옵션
- transformer
- 인스턴스 생명주기
- 이벤트에미터
- NLP
- 코랩 한글깨짐
- 프론트엔드
- 사전학습모델
- AI
- 코랩 워드클라우드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함