> 웹 프론트엔드 > JS 튜토리얼 > TypeScript 인터뷰 질문

TypeScript 인터뷰 질문

Linda Hamilton
풀어 주다: 2025-01-05 13:44:40
원래의
210명이 탐색했습니다.

TypeScript Interview Questions

질문 - TypeScript란 무엇입니까?

  • TypeScript는 Javascript의 상위 집합입니다
  • 정적 유형을 추가하여 런타임 전에 코드 품질을 개선하고 오류를 확인할 수 있습니다.
  • 인터페이스, 열거형, 제네릭 등과 같은 기능을 지원합니다.
  • 더 나은 오류 검사, 향상된 도구 및 향상된 코드 가독성을 제공합니다.

질문 - 명시적 및 암시적 유형 할당이란 무엇입니까?

  • 명시적이란 유형을 명시하는 것을 의미합니다. 아래와 같이 -
let firstName: string = "Rutvik";
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 암시적 의미는 TypeScript가 값을 기반으로 유형을 추측한다는 의미입니다. 아래 유형은 숫자로 간주됩니다.
let age = 23;
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - TypeScript에서 어떤 것, 알 수 없는 것, 전혀 없는 것의 차이점은 무엇입니까?

  • any 유형은 모든 유형의 변수를 할당하는 데 사용됩니다.
  • 다른 유형을 다시 할당해도 오류가 발생하지 않습니다.
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 값에 대한 작업을 수행하기 전에 유형을 확인해야 하기 때문에 알 수 없는 유형이 any 유형보다 낫습니다.
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 형은 결코 발생하지 않는 값을 나타내지 않습니다.
  • 일반적으로 제대로 반환하지 않는 함수의 반환문에 사용됩니다.
function throwError(message: string): never {
    throw new Error(message);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 배열 유형을 어떻게 지정합니까?

  • 배열을 입력하려면 아래와 같이 유형을 지정해야 합니다. 아래 예에서 배열은 문자열 유형만 포함할 수 있습니다.
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 배열 변경을 방지하는 읽기 전용 키워드를 사용할 수도 있습니다.
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 배열의 유형 추론이란 무엇입니까?

  • 배열에 유형을 지정하지 않으면 자동으로 유형을 추론합니다.
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 튜플이 무엇인가요?

  • 길이와 유형이 미리 정의된 유형 배열입니다.
  • 다른 유형의 혼합 배열 유형을 제공하는 데 매우 유용합니다.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 읽기 전용 튜플이 무엇인가요?

  • 튜플을 읽기 전용으로 만들지 않으면 정의된 항목에 더 많은 항목을 추가할 수 있으며 TypeScript는 오류를 발생시키지 않습니다.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 이제 이 문제를 해결하기 위해 유형 앞에 readonly 키워드를 사용합니다.
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 객체 유형을 어떻게 지정하나요?

  • 구조체와 같은 다른 객체를 생성하고 객체의 키와 키 유형을 지정하여 객체 유형을 부여할 수 있습니다.
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 객체에 선택적 속성을 갖는 방법은 무엇입니까?

  • 선택적 속성이나 키를 제공하려면 ? 그 키 뒤에.
let firstName: string = "Rutvik";
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - TypeScript의 열거형을 설명하시겠습니까?

  • 열거형은 상수인 변수 유형입니다. 그 안에 있는 값만 사용해야 합니다.
  • 값은 기본적으로 숫자이며 0부터 시작하여 1씩 증가합니다.
  • 숫자 또는 문자열 기반일 수 있습니다.
let age = 23;
로그인 후 복사
로그인 후 복사
로그인 후 복사
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 유형 별칭이란 무엇입니까?

  • 사용자 정의 이름으로 유형을 정의할 수 있으며 문자열 및 숫자와 같은 모든 기본 유형은 물론 객체 및 배열과 같은 복합 유형에도 사용할 수 있습니다.
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 인터페이스란 무엇입니까?

  • 인터페이스는 유형과 비슷하지만 객체에만 사용할 수 있습니다.
function throwError(message: string): never {
    throw new Error(message);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - 인터페이스를 확장하는 방법은 무엇입니까?

  • extend 키워드를 사용하여 인터페이스를 확장할 수 있습니다.
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - Union 및 Intersection 유형은 무엇입니까?

연합 :-

  • Union 유형은 속성이 문자열이나 숫자와 같이 둘 이상의 값일 수 있는 경우에 사용됩니다.
  • 이러한 이유로 OR이라고도 하며 | 상징.
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.
로그인 후 복사
로그인 후 복사
로그인 후 복사

교차로 :-

  • 교차형은 여러 유형을 하나로 결합할 때 사용됩니다.
  • 이런 이유로 AND라고도 하며 & 기호를 사용하여 사용됩니다.
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - Typescript의 함수란 무엇입니까?

함수에서 반환 유형을 지정하는 방법은 무엇입니까?

  • 함수 이름 뒤에 : 기호를 사용하여 함수의 반환 유형을 지정할 수 있습니다.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
로그인 후 복사
로그인 후 복사
로그인 후 복사

함수에 매개변수 유형을 지정하는 방법은 무엇입니까?

  • 각 매개변수 뒤에 : 기호를 사용하여 매개변수 유형을 언급하면 ​​매개변수 유형을 지정할 수 있습니다.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');
로그인 후 복사
로그인 후 복사
로그인 후 복사

함수에 선택적, 기본 및 나머지 매개변수를 제공하는 방법은 무엇입니까?

  • 기본 매개변수를 사용하면 매개변수를 선택사항으로 표시할 수 있습니다. 이처럼 c는 선택사항이고 ?로 표시됩니다.
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 기본값(ES6 기능)은 유형 뒤에 옵니다.
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 나머지 매개변수(ES6 기능)는 전달된 항목을 배열로 변환하므로 배열 유형이 지정됩니다.
interface CarTypes {
    brand: string,
    model: string,
    year?: number
}

const car: CarTypes = {
  brand: "Tata",
  model: "Punch"
};
로그인 후 복사
로그인 후 복사

질문 - TypeScript에서 캐스팅이란 무엇입니까?

  • 형변환은 변수 유형을 재정의하는 프로세스입니다.
  • 아래 예시처럼 타입은 알 수 없지만 as 키워드와 함께 사용하면 문자열이 됩니다.
enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}
console.log(Direction.Up); // 1
console.log(Direction.Down); // 2
로그인 후 복사
로그인 후 복사
  • <> as 대신에. 둘 다 같은 의미입니다.
let firstName: string = "Rutvik";
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - TypeScript의 제네릭이란 무엇입니까?

  • Typeascript의 제네릭을 사용하면 여러 데이터 유형에 사용할 수 있는 재사용 가능한 구성 요소나 기능을 만들 수 있습니다.
let age = 23;
로그인 후 복사
로그인 후 복사
로그인 후 복사

질문 - Typescript의 유틸리티 유형?

  • TypeScript는 일반적인 유형 변환을 단순화하기 위해 유틸리티 유형을 제공합니다.
  • 이러한 유형을 사용하면 개체 및 인터페이스 유형을 더 쉽게 조작하고 상호 작용할 수 있습니다.
  • 다음은 일반적으로 사용되는 유틸리티 유형에 대한 분석입니다.

1. 부분적

  • T 유형의 모든 속성을 선택적으로 만듭니다.
  • 사용 사례: 일부 속성만 필요한 객체를 생성하려는 경우.
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error
로그인 후 복사
로그인 후 복사
로그인 후 복사

2. 필수

  • T 유형의 모든 속성을 필수로 만듭니다.
  • 사용 사례: 모든 속성이 존재해야 함을 적용하려는 경우.
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}
로그인 후 복사
로그인 후 복사
로그인 후 복사

3. 읽기 전용

  • T 유형의 모든 속성을 읽기 전용으로 만듭니다.
  • 사용 사례: 개체의 속성을 수정할 수 없도록 합니다.
function throwError(message: string): never {
    throw new Error(message);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사

4. 선택

  • 유형 T에서 속성 K 세트를 선택하여 유형을 생성합니다.
  • 사용 사례: 유형의 특정 속성만 필요한 경우.
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사

5. 생략

  • 유형 T에서 속성 K 세트를 생략하여 유형을 생성합니다.
  • 사용 사례: 특정 속성을 제외한 모든 속성을 원할 때.
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.
로그인 후 복사
로그인 후 복사
로그인 후 복사

6. 기록

  • 키 K와 T 유형의 값을 사용하여 유형을 구성합니다.
  • 사용 사례: 고정 키와 일관된 값 유형을 사용하여 객체 유형을 생성합니다.
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error
로그인 후 복사
로그인 후 복사
로그인 후 복사

7. 제외

  • U에 할당할 수 있는 모든 유형을 T 유형에서 제외합니다.
  • 사용 사례: 특정 유형을 필터링합니다.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
로그인 후 복사
로그인 후 복사
로그인 후 복사

8. 추출

  • U에 할당할 수 있는 T 유형에서만 추출합니다.
  • 사용 사례: 유형을 특정 하위 집합으로 좁히려는 경우.
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');
로그인 후 복사
로그인 후 복사
로그인 후 복사

9. Null을 허용하지 않음

  • T 유형에서 null 및 정의되지 않음을 제외합니다.
  • 사용 사례: 값이 null도 아니고 정의되지도 않은지 확인합니다.
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');
로그인 후 복사
로그인 후 복사
로그인 후 복사

10. 반환 유형

  • 함수 유형의 반환 유형을 유추합니다.
  • 사용 사례: 함수의 반환 유형을 캡처하고 사용합니다.
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};
로그인 후 복사
로그인 후 복사
로그인 후 복사

11. 인스턴스 유형

  • 생성자 함수 유형 T의 인스턴스 유형으로 구성된 유형을 구성합니다.
  • 사용 사례: 클래스 인스턴스의 유형을 가져옵니다.
interface CarTypes {
    brand: string,
    model: string,
    year?: number
}

const car: CarTypes = {
  brand: "Tata",
  model: "Punch"
};
로그인 후 복사
로그인 후 복사

12. 매개변수

  • 함수 유형의 매개변수 유형을 추출합니다.
  • 사용 사례: 함수의 매개변수 유형을 재사용합니다.
enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}
console.log(Direction.Up); // 1
console.log(Direction.Down); // 2
로그인 후 복사
로그인 후 복사

위 내용은 TypeScript 인터뷰 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿