공부방

Annotation 본문

TypeScript

Annotation

코딩 화이팅 2023. 8. 25. 13:07

  • 정적 타입을 기본으로 하는 C, Java와 마찬가지로 변수 선언에 타입을 지정할 수 있다.
  • 변수에 대한 타입을 지정하면 해당 변수에 다른 타입의 값을 대입할 수 없다.
  • 변수에 정의한 타입과 다른 타입의 값을 대입하는 코드는 TypeScript 컴파일러에 의해 컴파일 오류가 발생된다.
  • 객체 리터럴에 대한 타입 정의는 해당 리터럴 객체가 갖는 각각의 프로퍼티에 대한 타입을 나열하는 형태로 정의함.

  • 함수를 정의할 때 파라미터와 반환값에 타입을 지정합니다.
  • 함수의 종류(선언적 함수, 익명함수, 람다 함수)에 따라 타입 지정에 대한 표현에는 차이가 있다.
  • 함수의 파라미터를 정의할 때 선택적매개변수를 지정할 수 있다.

  • JavaScript는 기본적으로 가변인자를 통한 함수 호출이 가능했지만 TypeScript는 가변인자를 지원하지 않는다.
  • 대신 TypeScript는 함수의 오버로딩을 통해 가변인자와 같은 효과를 구현할 수 있다.
  • 선택적 매개변수는 함수 호출 시 전달 인자를 선택적으로 보낼 수 있는 기능의 매개변수
  • 이외에 ES6 버전부터 지원하는 기본 매개변수, 나머지 매개변수가 있다.

  • 함수의 파라미터를 정의할 때 각 파라미터의 타입을 지정하지 않으면 any 타입의 파라미터가 지정된다.
  • 함수의 반환값에 대한 타입은 return 실행문에 따라 타입 추론이 적용됨
  • 파라미터에 타입을 지정하지 않으면 일반 변수와 마찬가지로 암묵적인 any 타입의 적용으로 경고 사항
  • 반환값의 경우 return 구문으로 명시적인 타입의 유추가 가능

  • 함수의 반환값이 없을 경우 void 타입의 반환을 정의
  • 함수의 반환값으로 정의 가능한 never 타입은 절대 발생하지 않는 값의 타입을 나타냄
  • void 타입은 변수로 사용될 경우 undefined, null 값만 대입 가능
  • never 타입은 어떤 타입의 변수에도 대입 될 수 있지만 never 타입에는 어떤 타입의 값도 대입될 수 없음

  • 배열도 일반 변수와 마찬가지의 타입 시스템이 적용되며 타입의 명시적 지정과 초기화를 통한 타입 지정이 가능
  • 타입을 명시적 혹은 묵시적으로 지정하지 않을 경우 해당 배열 참조 변수는 any 타입의 변수로 지정됨
  • 배열에 서로 다른 타입의 요소를 저장하는 것이 가능하며 이를 타입으로 지정 가능
  • 서로 다른 타입의 요소로 타입이 지정되면 해당 배열에는 순서에 상관없이 지정된 타입들의 요소를 저장할 수 있다.

  • 튜플을 이용하면 배열의 요소 수와 각 요소에 대한 타입을 지정할 수 있다.
  • 튜플은 정해진 길이에 맞지 않으면 에러 발생. 하지만 push() 함수를 이용하면 튜플의 규칙은 무시
  • 서로 다른 타입의 요소를 갖는 배열은 순서에 상관없이 데이터를 넣을 수 있는 반면 튜플은 정해진 순서에 맞게 넣는다.
  • 튜플 타입은 배열보다 저장되는 요소에 순서와 수에 제약을 두고자 할 때 사용됨.

 

'TypeScript' 카테고리의 다른 글

Generics  (0) 2023.08.25
투두 리스트 만들기  (0) 2023.08.25
TypeScript란?  (0) 2023.08.25