❔타입을 왜 제대로 알아야 하는가 ❕
- 코드의 가독성과 안정성 향상
- 타입 안정성 : 코드가 예상한 타입대로 동작을 보장
- TS: 정적 타입 시스템 도입
- 기본 타입 훑어 보기-
- boolean : true/false * 3가지 이상의 상태를 표현하고 싶을 때는 enum 혹은 string
- number
- 튜플 : 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 배열
ex)
const person = [string,number,boolean]
const person = [spartan,25,false]
- const , readonly
readonly : typescript에서 객체의 속성을 불변으로 만드는데 사용한다. readonly는 const로 치환할 수 없다.
- any, unknown, union
- any 타입 : 어떤 타입의 값이든 저장할 수 있다. * 코드의 안정성과 유지보수성 저해할 수 있음.
- unknown타입 : any타입과 비슷하지만 그 값을 다른 타입의 변수에 할당하려면 타입을 확인해야 한다.
⭐ 재할당 시 타입 체크를 함으로써 안전함이 보장되지만, 재할당이 일어나지 않으면 타입 안정성을 보장 할 수 없다.
3. union타입 : 여러 타입 중 하나를 가질 수 있는 변수를 선언할 때 사용한다. 여러 타입을 결합하여 표현함!
- enum,object literal
- enum : 간단한 상수값.
- 열거형 데이터 타입
- 상수의 그룹화에 적합
- 코드의 가독성을 높이고 명화한 상수값 정의
- 컴파일 시에 자동으로 숫자 값으로 매핑 : 따로 값을 할당할 필요가 없다.
2. object literal : 복잡한 구조 + 다양한 데이터 타입 (키+값 pair)
* 어떤 타입의 값도 대입 가능하다 ( enum 각 멤버는 상수이므로 number, string 타입 값만 대입 가능하다.)
- 다양한 데이터 타입 지원, 유연한 구조
- 런타임 에러 방지 ( 코드 내에서 사용하기 전에 할당한다)
enum | object literal |
간단한 상수값을 그룹화해서 관리할 때 | 멤버의 값이나 데이터 타입을 마음대로 변경할 수 있음 |
-> 각 멤버의 값이 변하면 안된다 | 복잡한 구조, 다양한 데이터 타입 |
<유틸리티 타입>
- partial<T>
:타입 T의 모든 속성을 선택적으로 만듦
- required<T>
: 타입 T의 모든 속성을 필수적으로 만듦
- readonly<T>
: 타입 T의 모든 속성을 읽기 전용으로 만듦
- pick<T,K>
: 타입 T에서 K 속성들만 선택하여 새로운 타입을 만듦
↕️
- omit<T,K>
: 타입 T에서 K속성들만 제외
'TypeScript' 카테고리의 다른 글
클래스, 인터페이스, 객체지향설계원칙 SOLID (0) | 2023.07.30 |
---|---|
실습 : 별다방 프로젝트 (0) | 2023.07.30 |
실습: JS라이브러리를 TS 프로젝트에서 사용하기 <성적표 프로그램> (0) | 2023.07.27 |
타입 스크립트 개발 환경 구축하기 (0) | 2023.07.26 |
타입스크립트를 써야하는 이유, TS 장점, 자바스크립의 약점, 단점 (0) | 2023.07.25 |