이 가이드에서는 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의 '생략' 유틸리티 유형에 대해 자세히 설명했습니다.