TypeScript 정의 인터페이스(interface)사례 튜 토리 얼
4743 단어 TypeScript인터페이스
인터페이스,영어:interface,그 역할 은 우리 코드 에 약속 을 제공 하 는 것 으로 간단하게 이해 할 수 있 습 니 다.
Typescript 에서 이렇게 설명 합 니 다:
4.567917.TypeScript 의 핵심 원칙 중 하 나 는 값 이 가지 고 있 는 구조 에 대해 유형 검 사 를 하 는 것 이다.그것 은 때때로'오리 식 변 형 법'또는'구조 적 성격 자 유형 화'라 고 불 린 다4.567917.TypeScript 에서 인터페이스의 역할 은 바로 이러한 유형 을 위해 당신 의 코드 나 제3자 코드 로 계약 을 정의 하 는 것 입 니 다예 를 들 어:
// Person
interface Person {
name: string;
age: number;
}
// man Person " " 【 , 】
let man: Person;
// , man ,man Person , number age string name
man = { age: 10, name: 'syw' }
#
function fun(women:Person){} // womem Person
위의 예 에서 나 는 인터페이스 와 인터페이스의 역할 을 어떻게 정의 하 는 지 간단하게 말 했다.다음은 인터페이스의 다른 게임 방법 을 간단하게 말 하 겠 다.인터페이스 선택 속성 설정:
선택 가능 한 속성 을 가 진 인 터 페 이 스 는 일반적인 인터페이스 정의 와 차이 가 많 지 않 습 니 다.선택 가능 한 속성 이름 정의 뒤에 만 추가 하 시 겠 습 니까?기호
interface Person {
name: string
age?: number
}
선택 가능 한 속성 입 니 다.우리 가 가장 흔히 볼 수 있 는 사용 상황 은 이 매개 변수 가 전달 되 거나 존재 하 는 지 확인 하지 않 는 것 입 니 다.Typescript 에서 선택 할 수 있 는 매개 변수의 장점 을 설명 합 니 다.
4.567917.선택 가능 한 속성의 장점 중 하 나 는 존재 할 수 있 는 속성 을 미리 정의 할 수 있 고 장점 중 하 나 는 존재 하지 않 는 속성 을 인용 할 때의 오 류 를 포착 할 수 있다 는 것 이다추가 속성 검사:
이 점 을 간단하게 요약 하면 우 리 는 속성 을 설정 할 수 있 지만 잘못된 속성 을 전달 할 수 없다 는 것 이다.
물론,우 리 는 유형 단언 을 사용 하여 이러한 속성 검 사 를 돌 릴 수 있 습 니 다.위의 링크:TypeScript 중의 유형 단언[as 문법|<문법]
인터페이스 읽 기 전용 속성 설정:
일부 대상 속성 은 대상 이 막 만 들 었 을 때 만 값 을 수정 할 수 있 습 니 다.그래서 우 리 는 속성 명 앞에서 readonly 로 읽 기 전용 속성 을 지정 할 수 있 습 니 다.
interface Person {
readonly name: string;
readonly age: number;
}
//
let man: Person = {name: 'syw', age: 10};
// , 。
man.age = 20;// error!
// Cannot assign to 'age' because it is a read-only property.
말하자면 속성 만 읽 고 사용 하 는 효과 와 const 의 차이 가 많 지 않다.물론 둘 은 하나 도 아니다.내 가 이렇게 말 하 는 것 은 단지 이 해 를 잘 하기 위해 서 이다.Typescript 에 서 는 readonly 와 const 를 이렇게 설명 합 니 다.
4.567917.readonly 를 사용 해 야 하 는 지 const 를 사용 해 야 하 는 지 를 가장 간단하게 판단 하 는 방법 은 그것 을 변수 로 사용 해 야 하 는 지 속성 으로 사용 해 야 하 는 지 를 보 는 것 이다.변수 로 사용 하면 const 를 사용 하고 속성 으로 사용 하면 readonly 를 사용 합 니 다함수 형식 인터페이스:
쉽게 말 하면 함수 유형의 인 터 페 이 스 는 함수 의 매개 변수 유형 과 함수 의 반환 값 유형 을 규정 하 는 것 이다.
interface PersonFun {
(name: string, age: number): boolean
}
// , PersonFun
let manFun: PersonFun = (name: string, age: number) => {
return age > 10;
}
주의:4.567917.함수 매개 변수 유형 은 변경 할 수 없고 반환 값 을 포함 하여 제약 을 지 켜 야 합 니 다4.567917.함수 매개 변수 이름 은 인터페이스 에 있 는 이름과 대응 하지 않 고 매개 변수 위치 에 대응 하 는 유형 만 호 환 할 수 있 습 니 다
//
let manFun: PersonFun = (name12: string, age12: number) => {
return age > 10;
}
인덱스 형식 인터페이스:색인 형식 인 터 페 이 스 는 쉽게 말 하면 색인 의 유형 과 반환 값 의 유형 을 규정 할 수 있 습 니 다.
4.567917.예 를 들 어 배열 에서 우 리 는 number 형식의 값 으로 색인 할 수 있 고 색인 은 string 형식의 값 이 라 고 규정 할 수 있다.그러면 이 배열 의 형식 은 대체적으로 고정 된다
interface PersonArr {
[index: number]: string
}
//
let manArr: PersonArr = ['syw','syw1','syw2'];
//
manArr[0]; // 0 number ,0 syw string
Typescript 에 서 는 두 가지 색인 서명 을 지원 합 니 다.사실은 색인 형식 입 니 다.각각 number 와 string 입 니 다.또한,number 형식의 색인 을 사용한다 면,정 의 된 반환 값 형식 은 string 형식의 색인 반환 값 을 정의 하 는 하위 형식 이 어야 합 니 다.
Typescript 은 이 말 을 이렇게 설명 합 니 다.
4.567917.number 를 사용 하여 색인 을 할 때 자 바스 크 립 트 는 string 으로 변환 한 다음 에 색인 대상 을 찾 습 니 다.즉,100(하나의 number)으로 색인 을 찾 는 것 은'100'(하나의 string)으로 색인 을 찾 는 것 과 같 기 때문에 이들 은 일치 해 야 한 다 는 것 이다나 는 처음에 이 말 을 보 았 을 때 문자 의 뜻 을 알 아 보 았 지만 이 말 을 어떻게 간단하게 표현 해 야 할 지 몰 랐 다.자세히 연구 해 보 니[내 가 너무 못 했 나 봐]사실은 매우 간단 하 다 는 것 을 알 게 되 었 다.
// PersonArr , index(number) , item(string) , , :
// number , string 。
//
interface PersonArr {
[index: number]: string;
[item: string]: number;
}
// index string , item number
// ? , index number 。
TypeScript 정의 인터페이스(interface)사례 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 TypeScript 정의 인터페이스 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Cypress에서 Stripe Elements의 자동 테스트 수행을 사용하여 E2E 테스트를 작성할 때 약간의 고려가 필요했기 때문에 비망으로 남겨 둡니다 ✍️ 을 사용하여 이런 코드에서 카드 번호 입력 요소를 만들었습니다. 본래라면, 카드 정보의 입력이 다른 도메인(Stripe...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.