1. Number Type
- 숫자
- All numbers, no differentiation between integers or floats
2. String Type
- 백틱, 작은따옴표, 큰 따옴표
- All text values
3. boolean Type
- true of false
- Just these two, no “truthy” or “falsy”
4. Object
- 객체 타입 (컴파일 단계에서 명시적으로 선언을 해주거나, 기본적으로 할당되었을때 타입스크립트가 인식한다)
- 중첩 객체 또한, 객체 안에 객체에 대한 타입을 명시해주면 가능하다.
- Any Javascript object, more specific types are possible
5. Array
- [1,2, 3]
- Any javascript array type can be flexible or strict
- 가변적인 길이를 가질 수 있으면 유연한 특성을 가지고 있다.
6. tuple
- [1, 2]
- Added by Typesciprt : Fixed-length array
- 타입스크립트에서 추가된 타입으로, 길이와 타입이 고정된 배열이다.
const person : {
name : string;
age : number;
hobbies : string[];
role : [number, string];
} = {
name : 'mmm',
age : 30,
hobbies : ['Sports', 'Cooking'],
role : [2, 'author']
// role : string|number[]
// union type으로 추론을 한다.
}
- 하지만 튜플로서 값을 잘못된거 넣거나, 재할당은 막아주지만, 배열의 메소드인 push pop은 막지 못한다.
7. Enum
- enum {NEW, OLD}
- Added Typescirpt : Automatically enumerated global constant identifiers
- 매직 넘버로 숫자로 할 시, 이게 무엇인지 알기 어려워진다. 그러므로, 이걸 관리하기 위한 방법으로 Enum을 사용한다.
// 사용자가 만든 타입이므로 대문자로 시작
enum Role {
ADMIN,READ_ONLY,AUTHOR
};
// 위와 같이 할시 앞에서부터 0
// 기본값은 0 으로 시작
// 초기값을 다른 숫자로 할시 그 숫자를 기준으로 값이 증가
// 별도로 추가적인 값을 할당할수도 있다.
8. Any
- *
- Any kind of value ,no specific type assignment
- 와일드카드 같은..
- any는 쓰지말자