면접 준비 노트 (TypeScript)

Bard·2023년 7월 10일
20

FE-Interview

목록 보기
3/4
post-thumbnail

Reference: 지금까지 받았던 신입 프론트엔드 면접 질문들 by arthur

TypeScript

TypeScript를 사용하는 이유에 대해 설명해주세요.

타입스크립트를 사용하는 가장 큰 이유는 정적 타이핑을 지원한다는 점입니다.

이를 통하여, 런타임 시 타입 에러를 발견하는 것을 막고, 컴파일 단에서 디버깅할 수 있게 됩니다.

또한 타입스크립트를 사용하면 객체지향 프로그래밍을 하기 쉽습니다.

제네릭, 인터페이스, 접근 제어자들을 통해, 기존 객체지향 언어를 사용하던 개발자의 진입 장벽을 낮춰줍니다.

Type과 Interface의 차이점에 대해 설명해주세요.

  1. 선언적 확장
    interface는 같은 이름으로 중복 선언을 함으로써 확장이 가능하지만, type의 경우 에러가 발생합니다.

  2. extends, &, |
    interfaceextends 키워드를 통해 확장할 수 있습니다. 비슷한 기능을 type에서 구현하려면 intersection 타입인 &를 통해 사용할 수 있습니다.
    반면, union 타입은 interface에서 비슷하게 구현할 수 없습니다.

제네릭에 대해 설명해주세요.

제네릭은 타입을 파라미터처럼 사용하는 것을 의미합니다.

<> 안에 대표적으로 T를 써서 사용합니다.

제네릭은 함수 뿐만아니라 인터페이스에도 사용할 수 있으며, extends와 함께 사용하면, 특정 타입에 대해서만 작동하도록 제약조건을 만들 수도 있습니다.

제네릭 유틸리티 타입에 대해 설명해주세요.

유틸리티 타입이란, 이미 정의한 타입을 변환할 때 사용할 수 있는 타입 문법으로, 대표적으로 Partial<T>, Readonly<T>, Record<K, T>, Pick<T>, Omit<T> 가 있습니다.

클래스의 Public, Private, Protected에 대해 설명해주세요.

public은 어디에서나 접근할 수 있는 값으로, 생략 가능한 default 값입니다.

private은 해당 클래스의 인스턴스에서만 사용할 수 있는 값입니다.

protected는 해당 클래스 혹은 서브 클래스의 인스턴스에서만 접근이 가능한 값입니다.

클래스의 Static에 대해 설명해주세요.

static 키워드를 사용하면 정적 변수, 또는 정적 함수를 만들 수 있습니다.

이들은, 인스턴스가 아닌 클래스에 속하는 변수와 함수로, 이들을 호출하기 위해 인스턴스가 필요하지 않습니다. 인스턴스에서 호출할 경우, 에러가 발생합니다.

또한 클래스 자체에 속하기 때문에, 다른 인스턴스들에게 모두 영향을 줄 수 있습니다.

profile
The Wandering Caretaker

0개의 댓글