Typescript

230530 Typescript의 객체, enum/Any/undefined/Unknown/void/never 타입

hyerin1201 2023. 5. 30. 15:21
  • 타입스크립트의 객체 선언

객체타입 선언방법

 

선택적옵션 ?

 

읽기전용 옵션 readonly


  • 타입별칭(타입 프로토타입) 생성 방법
    1:1로매칭이 되어야함..


  • 인덱스 시그니처 :
    객체안에 저장되어 있는 프로퍼티(key,value)의 인덱스값을 나만의 표기법으로 타입을 정의할 수 있다.
    포멧에 틀리지만 않으면 값이 맞게됨
    타입별칭보다는 플렉서블함 (약식)
    값이 몇개가 들어오든 상관없음

개발자입장에선 편하지만

너무 유연하게 간다면 타입스트립트를 사용하는 의미가 없어진ㄷ..?

 


  • enum 타입 : 여러가지 값들에 각각 이름을 부여해놓고 사용하는 타입 (열거형타입)
    정의된 키값과 벨류 값을 사용할 수 있다.
    객체 내 일정한 순서값을 부여하고자 할 때, 기본세팅할 수 있는 타입


  • Any 타입 : 특정변수의 타입을 아직 확실히 모를때 사용 (*입력할 값의 대한 가능허용 범위가 무제한 일뿐만 아니라, 해당 값을 적용할 수 있는 곳도 무제한)

타입스크립트의 치트키느낌,, 따라서 any의 남발은 좋지 않다


  • Unknown 타입: any와 마찬가지로 특정변수의 타입을 확실히 결정하지 못했을때 사용가능 하나 가장 큰 차이점은 해당 값을 다른 변수에 적용할 수 없다.


  • Void 타입 : (*void : 공허) 아무것도 없다는 것을 의미하는 타입.
    어떠한 값도 할당되지 않았음을 정의하는 타입( <-> null 과는 다르다)

기본적으로 undefined는 사용가능하나 나머지 타입을 사용불가,

단, 컴파일러 옵션을 사용해서 null 옵션을 false로 변환시 null 까지 적용 가능


  • Never 타입 : 그어떠한 값도 정의할 수 없을때 사용하는 타입.


  • undefined 타입 : 최하위타입.
  • 타입의 이름이기도 하면서 동시에 변수안에 입력 가능한 값