basic-types
타입스크립트의 기본 구조를 생성후 진행
1. mkdir basic-types
2. npm init -y
3. npm i typesript -D
4. npx tsc --init
5. code .
Boolean 타입
boolean.js 생성 확인!
Number 타입
String 타입
ES6부터는 Template String 기능이 나옴
백틱 안에서는 띄어쓰기 사용가능! ${ 안에서 연산이 가능하다.}
Symbol 타입
같은 값을 넣고 비교할경우
서로 다른 심볼인걸 알수있음!
함수로 사용할때는 대문자 Symbol 타입으로 사용할때는 소문자 symbol
Null & Undefined 타입
타입도 소문자 값도 소문자로 작성해야함!
number 에 Null & Undefined 가 없게 처리할려면 컴파일할때 --strictNullChecks 를 사용해주어야한다.
void 는 유일하게 undefined 를 할당가능 null 안됨!
vscode 이동후 확인
에러가 출력 그렇다면 현재 타입스크립트의 설정이 strictNullChecks 옵션이 켜져있다는 상태라는걸 확인이 가능하다.
tsconfig.json 파일로 들어가 strict: true 부분을 주석처리해보자!
그러면 에러가난 부분이 null 이 할당가능해짐 물론 당연히 undefined 도 가능하다.
위에서 설명했지만 void 에는 null & undefined 둘다 값인 형태여도 undefined 만 할당이 가능!!!
union 타입!
Object 타입
오브젝트는 흔히 알고 있는 개체, 객체 라는 뜻이 있다 이전까지 배운 프리미티브 타입 과 다르게 직접 값을 가지고있지않고 값을 가진곳을 가리키는 정보를 가리키는 그런 성질을 가지고 있다.
하지만 typescript 의 오브젝트는 실제 오브젝트와 다른의미로 쓰여진다.
이런 형태를 막기위해 Object 타입이 존재한다.
Array 타입
자바스크립트와 마찬가지로 타입스크립트에서도 같은 타입의 어떠한 요소들을 모아놓은 자료형을 의미한다.
여기서 주의 해야할점은 배열안에 요소들은 전부다 같은 타입이여야만 한다. 이것들이 하나의 범주로 묶을수 없는 하나의 타입으로 묶을수 없는 요소들이라면 이것은 Array 이가 아니게 된다.
첫번째 방법을 더 선호 한다. 아래의 방식은 충돌이 일어날 수 있어서 사용을 자제하라는 글귀가있다.
배열안에 문자와 숫자 같이 사용할때 union 방법!
이러한 방식을 따로 처리하는 방법이있는데 Tuple 이 존재한다.
Tuple 타입
현재 x 에는 0,1 인덱스 밖에 없기때문에 할당이 되지 않는다.
tuple 이기때문에 정확하게 타이핑이 됨!
이번에는 길이 맞지 않지만 third 를 넣어보았다. 에러 확인!
정리하자면 Array 같은 경우에는 공통요소를 들이 모여있고
tuple 인 경우에는 길이가 정해져있고 앞뒤의 타입이 정확한 그리고 다를수 있는 그런 자료형이다.
Any 타입
Any를 정확하게 알고 쓸수있게 정리!
누수를 막는 방식
unknown 타입
unknown 이라는 타입은 위에서 배운 any 가지고 있는 어떤 타입의 불안정한 요소를 주는 그런 부분을 조금이나마 해소하고자 나온 대체자라고 생각하면 된다.
never 타입
일반적으로 return 에 사용을 한다.
잘못된 타입을 막는경우!
void 타입
값은 없고 타입만 있다.
일반적으로 값이없는 반환하지않는 리턴타입이 undefined 를 반환하는경우