Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- react
- useMemo
- 프론트앤드개발자
- 프론트앤드 개발자
- 프론트앤드 기초
- 개발일기
- 리터럴타입
- 프론트앤드 사이드프로젝트
- typescript
- 리액트기초
- 자바스크립트
- 채팅개발
- 인터섹션타입
- javascript 수학
- 유니온타입
- Union Type
- frontend
- 리액트
- 프론트앤드개발
- react기초
- javascript
- CSS
- html
- 프론트앤드
- intersection type
- 타입스크립트
- useCallback
- prompth
- next.js
- 타입스크립트 기초
Archives
- Today
- Total
404 page not found : 기록장
[Typescript] type vs interface 차이 본문
Type과 Interface는 TypeScript에서 둘 다 타입 선언을 할 수 있는 구문이다. 하지만 두 구문은 목적과 의미가 조금씩 다르다.
Type Alias
Type은 타입 별칭이라고도 부르며, 특정 타입에 이름을 붙여줄 수 있다. 이를 통해 타입을 더 직관적으로 표현할 수 있으며, 코드 가독성을 높일 수 있다. 예를 들어, 다음과 같이 사용할 수 있다.
type Person = {
name: string;
age: number;
}
이렇게 정의된 Person 타입은, 이후에 다른 타입처럼 사용할 수 있다.
const person: Person = {
name: 'John',
age: 30,
}
Interface
Interface는 인터페이스로써, 객체의 구조를 정의한다. 즉, 객체가 가져야 할 속성과 메소드를 정의해준다. 예를 들어, 다음과 같이 사용할 수 있다.
interface Person {
name: string;
age: number;
}
Type과 마찬가지로, 이렇게 정의된 Person 인터페이스는 이후에 다른 인터페이스나 타입처럼 사용할 수 있다.
function getPersonInfo(person: Person) {
return `Name: ${person.name}, Age: ${person.age}`;
}
차이점
Type과 Interface는 모두 타입을 선언할 수 있는 구문이지만, 목적과 사용 방법에서 차이가 있다.
- Type은 타입 별칭으로, 특정 타입에 이름을 붙여줄 때 사용한다.
- Interface는 객체의 구조를 정의할 때 사용한다.
- Type은 Union Type이나 Intersection Type과 같은 고급 타입을 지원한다.
- Interface는 extends를 이용하여 다른 인터페이스를 상속받을 수 있다.
따라서, Type과 Interface 중 어느 것을 사용할 지는 상황과 목적에 따라 결정해야 한다.
'TYPESCRIPT' 카테고리의 다른 글
[Typescript] Any와 Unknown (0) | 2023.03.03 |
---|---|
[Typescript] Generic (0) | 2023.03.03 |
[Typescript] Union Type, Intersection Type (0) | 2023.03.03 |
[Typescript] Typescript의 기본 Type (0) | 2023.03.03 |
[Typescript] Typescript를 사용하는 이유 (0) | 2023.03.02 |