TypeScript의 생략 유형이란 무엇입니까?

Typescriptui Saenglyag Yuhyeong Ilan Mueos Ibnikka



TypeScript는 유형 시스템을 더욱 편리하고 효율적으로 만들기 위해 광범위한 유틸리티 유형을 제공합니다. 이러한 유형을 사용하면 사용자는 속성을 제거하거나 수정하고 속성을 읽기 전용 또는 선택 사항으로 만드는 등의 작업을 통해 기존 유형을 기반으로 새 유형을 구축할 수 있습니다. 각 유틸리티 유형은 이름에 따라 특정 기능을 수행합니다. 예를 들어 '선택적' 유형은 속성을 선택적으로 만들고, 'readonly'는 필드를 읽기 전용으로 선언합니다.

이 가이드에서는 TypeScript의 '생략' 유틸리티 유형을 설명합니다.

TypeScript의 생략 유형이란 무엇입니까?

생략 ” 유틸리티 유형은 기본 유형의 불필요한 속성을 제외하여 새로운 유형을 생성합니다. 기본 유형은 새 유형이 파생되는 기존 유형을 나타냅니다.







통사론



뉴타입을 입력하세요 = 생략 < 기존 유형, '속성 이름1' | '속성 이름2' | ... >

위 구문은 “ 생략 ” “의 여러 속성 기존 유형 '를 사용하여 분리합니다. 또는 (|)” 연산자입니다.



위에서 정의한 '생략' 유틸리티 유형을 실제로 사용해 보겠습니다.





예 1: 유형 별칭을 사용하여 '생략<유형, 키>' 적용

이 예에서는 “Omit” 유틸리티 유형을 사용하여 기존 유형에서 새 유형을 생성합니다.



암호

TypeScript 프로젝트의 '.ts' 파일에 지정된 코드 줄을 복사합니다.

사용자 유형 = {
이름 : 끈,
나이 : 숫자,
위치 :
} ;

나이 없는 사용자 유형 = 생략 < 사용자, '나이' >;

const 사용자가 없는 : 나이가 없는 사용자 = {

이름 : '또는' ,

위치 : '이슬라마바드'

} ;

콘솔. 통나무 ( 사용자가 없는 ) ;

이 코드에서는:

  • 사용자 ” 유형은 지정된 속성의 이름, 연령 및 위치로 정의됩니다.
  • 다음으로는 “ 나이가 없는 사용자 '를 사용하여 'age' 속성을 제외함으로써 기존 'User' 유형에서 새로운 유형이 생성됩니다. 생략 ” 유틸리티 유형.
  • 그 후, 객체 ' 사용자가 없는 'age'를 제외한 기존 'User' 유형의 모든 필드를 지정하는 'UserWithoutAge' 유형의 '가 생성됩니다.
  • 마지막으로 “ 콘솔.로그() ” 메소드를 적용하여 “userwithoutage” 객체를 표시합니다.

산출

'.ts' 파일을 컴파일하고 자동으로 생성된 '.js' 파일을 실행합니다.

tsc 메인. JS //Compile.ts 파일

노드 메인. JS //.js 파일 실행

터미널에 새로운 유형의 'UserWithoutAge' 개체의 출력이 표시되는 것을 볼 수 있습니다.

예 2: 인터페이스를 사용하여 '생략<유형, 키>' 유형 적용

이 예에서는 새로운 유형을 생성하기 위해 인터페이스와 함께 '생략<유형, 키>' 유틸리티 유형을 적용합니다.

암호

상호 작용 사용자 {

이름 : ;

나이 : 숫자 ;

위치 : ;

}

NewPerson을 입력하세요. = 생략 < 사용자, '나이' | '위치' >;

const 사람 : 새 사람 = {

이름 : '또는'

} ;

콘솔. 통나무 ( 사람 ) ;

이제 명시된 코드 줄은 다음과 같습니다.

  • 인터페이스 정의 “ 사용자 ”에는 다음과 같은 속성 이름, 문자열 및 위치가 있습니다.
  • 다음으로, 새로운 유형 “을 생성합니다. 새 사람 ”는 지정된 속성인 연령 및 위치를 제외하고 기존 인터페이스 “사용자”에서 사용됩니다.
  • 그런 다음 '라는 이름의 새로운 유형의 'NewPerson' 개체를 만듭니다. 사람 '는 하나의 속성(예: 기존 인터페이스 '사용자'의 '이름')만 지정합니다.
  • 마지막으로 '를 사용하여 'person' 개체의 필드를 표시합니다. 콘솔.로그() ' 방법.

산출

코드를 컴파일하고 실행합니다.

tsc 메인. JS //Compile.ts 파일

노드 메인. JS //.js 파일 실행

터미널에는 개체에 지정된 새 유형 'NewPerson'의 속성 값 하나만 표시됩니다.

예제 3: Function()을 사용하여 “Omit” 유형 적용

이 예제에서는 기존 인터페이스의 몇 가지 속성을 생략하여 인수로 전달된 인터페이스의 객체를 반환하는 함수와 함께 'Omit' 유형을 활용합니다.

암호

상호 작용 사용자 {

이름 : ;

나이 : 숫자 ;

위치 : ;

}

getUserDetails 함수 ( 새로운 사용자 : 생략 < 사용자, '이름' | '위치' > ) : 숫자 {

반품 ( 새로운 사용자. 나이 )

}

const 새로운 사용자 : 사용자 = {

나이 : 40 ,

이름 : '또는' ,

위치 : '이슬라마바드'

} ;

const 사용자 세부정보 = getUserDetails ( 새로운 사용자 ) ;

콘솔. 통나무 ( 사용자 세부정보 ) ;

위의 코드 조각은 다음과 같습니다.

  • 먼저 인터페이스를 만듭니다. 사용자 ” 이름, 나이, 위치 속성이 있습니다.
  • 다음으로 함수 이름 '을 정의합니다. getUserDetails() ”는 기존 인터페이스의 “newuser” 유형, 즉 “User”의 “name” 및 “location” 속성을 생략합니다.
  • 이 함수는 사용자의 숫자 값, 즉 '연령'을 반환합니다.
  • 이제 '라는 개체를 만듭니다. 새로운 사용자 ” 인터페이스 “사용자”의 속성 값을 지정합니다.
  • 그런 다음 'newuser' 개체를 매개변수로 전달하는 정의된 'getUserDetails()' 함수를 호출합니다. 사용자 세부정보 ' 끊임없는.
  • 마지막으로 '를 통해 'userDeatils' 출력을 표시합니다. 콘솔.로그() ' 방법.

산출

tsc 메인. JS //Compile.ts 파일

노드 메인. JS //.js 파일 실행

터미널에는 ' 나이 '생략' 유틸리티 유형을 통해 '이름'과 '위치'가 제외되기 때문에 속성 값입니다.

결론

TypeScript에서 유틸리티 유형은 “ 생략 ”는 기존 유형을 첫 번째 매개변수로 사용하고 기존 유형의 몇 가지 속성을 제외하여 새 유형을 생성합니다. 이 유틸리티 유형은 처음부터 새 유형을 생성하는 대신 일부 속성을 갖는 새 유형을 생성하기 위해 기존 유형을 복제하는 데 도움이 됩니다. '유형' 별칭, 인터페이스 및 함수와 함께 적용할 수 있습니다. 이 가이드에서는 TypeScript의 '생략' 유틸리티 유형에 대해 자세히 설명했습니다.