Program Tip

TypeScript : 인터페이스 대 클래스 대 모듈 대 프로그램 대 함수

programtip 2020. 11. 30. 19:48
반응형

TypeScript : 인터페이스 대 클래스 대 모듈 대 프로그램 대 함수


http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf 에있는 TypeScript 사양을 읽었습니다 .

그러나 다음과 혼동되었습니다.

  1. 상호 작용
  2. 수업
  3. 모듈
  4. 프로그램들
  5. 기능.
  6. 선언 대 var

누군가 위의 어느 것을 언제 사용 해야하는지 이해하는 데 잠시 도움을 줄 수 있습니까? 인터페이스 및 클래스는 C # 버전과 동일합니까?


귀하의 질문에서 언급 했듯이이 답변이 C #과 일치하도록 만들었지 만 유사한 언어로 TypeScript를 사용하는 사람들에게도 도움이되기를 바랍니다.

상호 작용

TypeScript의 인터페이스는 C #에서 보았던 것과 유사합니다. 이것은 계약입니다. 클래스 중 하나가 인터페이스를 구현하면 인터페이스가 문서화하는 특정 속성이나 메서드를 갖도록 약속합니다.

TypeScript에서 인터페이스는 확장하기 위해 다른 인터페이스에서 상속하고 구현을 캡처하기 위해 클래스에서 상속 할 수 있습니다.

TypeScript에서 불가능 해 보일 때마다 일반적으로 인터페이스로 해결할 수 있습니다!

TypeScript에서 인터페이스는 광범위한 용도로 사용됩니다. 구조를 설명하므로 유형을 사용하는 모든 곳에서 사용할 수 있습니다 (즉, 클래스에서 구현하는 것이 아니라 변수, 매개 변수, 반환 값 등을 입력하는 데 사용할 수 있음).

수업

이것은 C #의 클래스 개념과 매우 유사합니다. 다른 클래스에서 상속하여 동작을 확장하거나 전문화 할 수 있습니다.

네임 스페이스

새로운 네임 스페이스 키워드는 제한된 범위 내에 코드 그룹을 배치하는 데 사용됩니다. 이것은 C # 네임 스페이스와 유사합니다.

기준 치수

TypeScript의 경우 모듈이 네임 스페이스보다 낫습니다. 모듈 (이전에는 외부 모듈이라고 함)은 자체 포함 된 파일이며 전역 범위에 아무것도 추가하지 않습니다. 필요에 따라 모듈을 지역 변수에로드 할 수 있습니다. 모듈은 필요에 따라 코드를 구성하고 부품을로드하는 좋은 방법을 제공합니다. 모듈을 사용할 때는 네임 스페이스를 사용하지 않는 것이 가장 좋습니다. 모듈은 네임 스페이스보다 낫습니다.

프로그램

프로그램은 모듈, 클래스의 모음입니다. 이것은 본질적으로 TypeScript를 사용하여 작성한 것입니다.

기능 / 방법

클래스에는 메서드가 포함되어 있으며 클래스에 속하지 않는 독립 실행 형 함수를 작성할 수도 있습니다.

선언 대 var

var새 변수를 만듭니다. declare변수가 다른 곳에서 생성되었음을 TypeScript에 알리는 데 사용됩니다. 를 사용하면 declare생성 된 JavaScript에 아무것도 추가되지 않습니다. 이는 단순히 컴파일러에 대한 힌트입니다.

예를 들어, 당신은 정의가 있음을 외부 스크립트를 사용하는 경우 var externalModule, 당신이 사용하는 것이 declare var externalModule타이프 스크립트 컴파일러에 힌트로 externalModule이미 설정되었습니다.

참고 URL : https://stackoverflow.com/questions/12764247/typescript-interface-vs-class-vs-modules-vs-program-vs-function

반응형