FE
[타입스크립트 핸드북] : 기본 타입 & 함수
히치키치
2022. 9. 20. 16:43
더보기
💙 타입스크립트 기본 타입 :
string, number, boolean,
object, array, enum,
any, void, null, undefined, never
1. 기본 타입
// 숫자
let age:number=30;
// 불리언
let isAdult:boolean=true;
// Object : 배열 - 숫자
let a:number[]=[1,2,3];
let a2:Array<number>=[1,2,3];
// Object : 배열 - 문자열
let b:string[]=["a","b","c"];
let b2:Array<string>=["a","b","c"];
2. Object : 튜플
// Object : 배열 - 첫번째 원소 : 문자열, 두번째 원소 : 숫자
let b:[string, number] = ["ab", 1];
b = [1, "a"];
// 에러 발생
b[0].toUpperCase();
// b[0]이 문자열이기 때문에 문자열 메소드 사용 가능
b[1].toUpperCase();
// b[1]은 숫자이기 때문에 문자열 메소드 사용 불가능
3. void : 함수에서 아무 것도 반환되지 않는 경우
더보기
function 함수명(인자) : 함수반환타입 {}
function sayHello():void{
console.log("say Hello");
}
sayHello();
4. never
1. 항상 에러를 반환하는 경우
function showError():never {
throw new Error();
}
2. 영원히 끝나지 않는 함수 타입
function infLoop():never {
while (true) {
console.log("Infinite Loop")
}
}
5. enum
- 클래스를 상수처럼 사용 가능
- Enum 클래스를 구현하는 경우 : 상수값과 같이 유일하게 하나의 인스턴스가 생성되어 사용됨
- 서로 관련이 있는 상수값 모아 enum으로 구현해 유용
- 클래스와 같은 문법 체계
- 상속 지원하지 않음
enum OS{
Window, // 자동으로 0
Ios, // 자동으로 1
Android // 자동으로 2
}
// 값이 숫자인 경우 양방향으로 매핑 가능
console.log(OS[2]); // Android
console.log(OS["Android"]) // 2
// 값을 명시적으로 할당하지 않은 경우 순차적인 값이 할당됨
enum OS{
Window = 3,
Ios = 10,
Android // 자동으로 11
}
console.log(OS[10]); // Android
console.log(OS["Android"]) // 11
enum OS{
Window = "window",
Ios = "ios",
Android="android" // 자동으로 11
}
// 값이 문자인 경우 단방향 매핑만 가능
console.log(OS["Ios"]); // "ios"
console.log(OS["android"]) // 에러발생
6. null
let a : null = null;
7. undefined
let b : undefined = undefined;
더보기
💙 타입스크립트 활용한 함수의 3가지 타입 정의
1. 함수 반환 타입 정의
2. 함수 인자 타입 정의
3. 함수 구조 타입 정의