Quiz
[TypeScript] Quiz
크라00
2024. 8. 29. 17:04
Q.
문제 1: TypeScript에서 any 타입의 역할은 무엇인가요?
- A) 모든 타입의 값을 허용하지 않는다.
- B) 특정 타입만 허용한다.
- C) 모든 타입의 값을 허용한다.
- D) undefined와 null만 허용한다.
문제 2: 다음 중 TypeScript에서 인터페이스(interface)의 올바른 사용 사례는 무엇인가요?
- A) 함수의 매개변수를 설정할 때
- B) 정규 표현식을 정의할 때
- C) 객체의 구조를 정의할 때
- D) 배열을 반복할 때
문제 3: TypeScript에서 선택적 속성(Optional Property)을 정의할 때 사용하는 구문은 무엇인가요?
- A) :
- B) |
- C) ?
- D) !
문제 4: TypeScript에서 제네릭(Generic)은 무엇을 의미하나요?
- A) 타입을 유연하게 지정할 수 있는 방법
- B) 특정 타입만 허용하는 방법
- C) 오버로드를 정의하는 방법
- D) 타입을 제거하는 방법
문제 5: TypeScript의 readonly 키워드는 무엇을 위해 사용되나요?
- A) 변수의 값을 변경할 수 있게 하기 위해
- B) 변수의 값을 읽기 전용으로 만들기 위해
- C) 함수를 비동기적으로 만들기 위해
- D) 객체의 메서드를 동기적으로 호출하기 위해
> 주관식
문제:
TypeScript에서 type과 interface는 모두 객체의 타입을 정의할 수 있는 방법입니다. 이 둘의 차이점은 무엇이며, 각각을 사용해야 하는 상황을 예를 들어 설명하세요.
A.
문제 1: TypeScript에서 any 타입의 역할은 무엇인가요?
- 정답: C) 모든 타입의 값을 허용한다
- 설명: any 타입은 TypeScript에서 모든 타입의 값을 허용하며, 특정 변수에 대해 타입 검사를 비활성화할 수 있게 해줍니다.
문제 2: 다음 중 TypeScript에서 인터페이스(interface)의 올바른 사용 사례는 무엇인가요?
- 정답: C) 객체의 구조를 정의할 때
- 설명: 인터페이스는 객체의 구조를 정의하는 데 사용됩니다. 이를 통해 객체가 가져야 할 속성과 해당 속성들의 타입을 명시할 수 있습니다.
문제 3: TypeScript에서 선택적 속성(Optional Property)을 정의할 때 사용하는 구문은 무엇인가요?
- 정답: C) ?
- 설명: ?를 사용하여 인터페이스나 타입에서 선택적 속성을 정의할 수 있습니다. 선택적 속성은 있어도 되고 없어도 되는 속성입니다.
문제 4: TypeScript에서 제네릭(Generic)은 무엇을 의미하나요?
- 정답: A) 타입을 유연하게 지정할 수 있는 방법
- 설명: 제네릭은 함수, 클래스, 인터페이스 등이 여러 가지 타입에서 동작할 수 있도록 유연성을 제공하는 방법입니다.
문제 5: TypeScript의 readonly 키워드는 무엇을 위해 사용되나요?
- 정답: B) 변수의 값을 읽기 전용으로 만들기 위해
- 설명: readonly 키워드는 객체의 속성이나 변수의 값을 읽기 전용으로 만들어, 값이 할당된 이후에 변경되지 않도록 합니다.
> 주관식
정답 설명:
- type과 interface의 차이점:
- **interface**는 여러 번 선언할 수 있으며, 동일한 이름으로 확장할 수 있습니다. 이는 "Declaration Merging"이라는 기능으로, 여러 개의 인터페이스 선언을 하나로 합칠 수 있게 합니다.
- **type**은 이름이 동일한 타입을 다시 선언할 수 없으며, 기존 타입에 확장을 할 수 없습니다. 하지만 type은 보다 유연하여, 유니온 타입, 튜플, 리터럴 타입 등을 포함한 다양한 타입을 정의할 수 있습니다.
- 사용 사례:
- interface 사용 상황: 인터페이스는 주로 객체의 구조를 정의할 때 사용됩니다. 특히 객체의 형태가 확장될 가능성이 있거나, 여러 곳에서 재사용될 가능성이 있는 경우에 적합합니다.
- type 사용 상황: 타입 별칭(type)은 객체뿐만 아니라 유니온 타입, 튜플, 그리고 다양한 복합적인 타입을 정의할 때 유용합니다. 복잡한 타입을 정의하거나 타입을 조합할 때 주로 사용됩니다.
요약하면, 인터페이스는 주로 객체의 구조를 정의하고 확장할 때 유리하고, 타입 별칭은 다양한 복합적인 타입을 정의할 때 유연하게 사용될 수 있습니다.