티스토리 뷰
타입스크립트(TypeScript) 기본 타입
- String
- Number
- Boolean
- Array
- Tuple
- Enum
- Any
- Void
- Never
- Null/Undefined
String
타입이 문자열인 경우
let str:string = 'hello';
// 위와 같이 :를 사용하여 자바스크립트 코드에 타입을 정의하는 방식을
// 타입표기(Type Annotation)라고 한다.
Number
타입이 숫자일 경우
JavaScript의 모든 숫자(10, 2, 16진수 등의 모든 부동 소수점 수)를 지정
let num1:number = 10;
let num2:number = 10.85;
Boolean
타입이 진위 값(true/false)인 경우
let isLoggedIn1:boolean = true;
let isLoggedIn2:boolean = false;
Array
타입이 배열인 경우
let arr:number[] = [1, 2, 3];
// 요소의 타입 뒤 []를 작성하여 사용하는 방법1
또는 아래와 같이 제네릭을 사용할 수 있다.
let arr:Array<number> = [1, 2, 3];
// 제네렉을 이용해, Array<요소의 타입>을 사용하는 방법2
Tuple
튜플은 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미한다.
let arr: [string, number, boolean]= ['hello', 10, false];
// [요소의 타입, 요소의 타입]과 같이 배열에서 고정된 개수의 요소 타입 지정
정의하지 않은 타입이나 인덱스로 접근할 시, 오류가 발생한다.
arr[1].concat('!'); // Error, 'number'에는 concat이 없습니다.
// concat() 메소드는 인자로 주어진 배열이나 값들은 기존 배열에 합쳐서 새 배열을 반환한다.
arr[3] = 'text value'; // Error, 속성 3이 type [string, number, boolean]유형에 없습니다.
Enum
Enum은 Java와 같은 다른 언어에서 쓰이는 타입으로, 특정 값(상수)들의 집합을 의미한다.
enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers.Capt;
Enum은 인덱스 번호로도 접근할 수 있다.
enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers[0];
Enum의 인덱스를 사용자 편의로 변경해 사용할 수 있다.
enum Avengers { Capt = 2, IronMan, Thor }
let hero: Avengers = Avengers[2]; // IronMan
let hero: Avengers = Avengers[4]; // Thor
Any
기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입 스크립트를 점진적으로 적용할 때 활용하면 좋은 타입.
최상위 타입으로 모든 타입에 대해서 호환이 가능하다.
let str: any = 'hello';
let num: any = 10;
let arr: any = ['A', 10, false];
Void
변수에는 null/undefined만 할당하고,
반환값을 설정할 수 없는 함수에는 반환 타입
let str: any = 'hello';
let num: any = 10;
let arr: any = ['A', 10, false];
Never
함수의 끝에 절대 도달하지 않는다는 의미를 가진 타입
무한 루프를 도는 함수이거나, try~catch~throw에서 값을 가지지 않는 throw 하는 함수에 사용
// 이 함수는 절대 함수의 끝까지 실행되지 않는다는 의미
function neverEnd(): never
{
while(true)
{
}
}
Null, Undefined
let nullValue:null = null;
let undefined: undefined = undefined;
'개발언어 > TypeScript' 카테고리의 다른 글
[JavaScript] 동기통신 vs 비동기통신 /xml vs json /Ajax 개념 및 jQuery Ajax vs Fetch vs axios에 대해서 (0) | 2022.06.21 |
---|---|
【JavaScript】Fetch API의 기초 (0) | 2022.04.28 |
【TypeScript】reduce (0) | 2021.10.29 |
[TypeScript] 개념 및 JavaScript와의 차이점, 사용이유 (0) | 2021.05.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 시간차이
- 동기통신
- PL/SQL 실행문
- REVOKE
- 참조전달
- 유틸리티에러
- in/out/ref 차이점
- 후나빙
- rollback
- USER_SYS_PRIVS
- 에러
- C#
- DBA_SYS_PRIVS
- BEGIN절
- pl/sql
- PL/SQL 예외처리문
- NLog
- 초기화파라미터파일
- TrimEnd
- in/out/ref 예제
- DECLARE절
- in/out/ref 공통점
- commit
- VB.Net
- in/out/ref
- grant
- vba
- EXCEPTION절
- 유틸리티
- Oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함