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 키워드는 객체의 속성이나 변수의 값을 읽기 전용으로 만들어, 값이 할당된 이후에 변경되지 않도록 합니다.

 

> 주관식

 

정답 설명:

  1. type과 interface의 차이점:
    • **interface**는 여러 번 선언할 수 있으며, 동일한 이름으로 확장할 수 있습니다. 이는 "Declaration Merging"이라는 기능으로, 여러 개의 인터페이스 선언을 하나로 합칠 수 있게 합니다.
    • **type**은 이름이 동일한 타입을 다시 선언할 수 없으며, 기존 타입에 확장을 할 수 없습니다. 하지만 type은 보다 유연하여, 유니온 타입, 튜플, 리터럴 타입 등을 포함한 다양한 타입을 정의할 수 있습니다.
  2. 사용 사례:
    • interface 사용 상황: 인터페이스는 주로 객체의 구조를 정의할 때 사용됩니다. 특히 객체의 형태가 확장될 가능성이 있거나, 여러 곳에서 재사용될 가능성이 있는 경우에 적합합니다.
    • type 사용 상황: 타입 별칭(type)은 객체뿐만 아니라 유니온 타입, 튜플, 그리고 다양한 복합적인 타입을 정의할 때 유용합니다. 복잡한 타입을 정의하거나 타입을 조합할 때 주로 사용됩니다.

요약하면, 인터페이스는 주로 객체의 구조를 정의하고 확장할 때 유리하고, 타입 별칭은 다양한 복합적인 타입을 정의할 때 유연하게 사용될 수 있습니다.