JavaScript
[Typescript] 함수 & 리터럴 타입
jjin502
2023. 3. 27. 23:58
함수
자바스크립트 형태의 함수에 인자에 대한 타입과 반환하는 값의 타입을 붙여주면 된다.
인자(넘기는 값 == 파라미터)
리액트에서 이벤트를 지정할 때 아래와 같이 사용함.
function updateTodo(event: ChangeEvent<HTMLInputElement>) {
setTodo(event.target.value);
}
반환하는 값(리턴 값)
반환되는 값에 대한 타입을 지정함.
function updateTodo(event: ChangeEvent<HTMLInputElement>):void {
setTodo(event.target.value);
console.log(e.target.value);
}
선택적 파라미터
파라미터를 옵셔널하게 지정할 수 있음
function updateTodo(event: ChangeEvent<HTMLInputElement>, todoId?: string):void {
setTodo(event.target.value);
console.log(e.target.value);
}
리터럴 타입
구체적인 값으로 타입을 지정하고 싶을 때 사용한다.
문자열 리터럴 타입
유니언 타입, 타입가드, 타입별칭과 잘 결합됨. enum 변수를 사용해 문자열을 가질 값들의 타입을 정할 수 있다.
interface goToPlace {
'HOME': string,
'COMPANY': string,
'MARKET': string
}
숫자형 리터럴 타입
문자열 리터럴과 같은 역할을 수행하나 그 타입이 숫자 형태이다.
function rollDice(): 1 | 2 | 3 | 4 | 5 | 6 {
return (Math.floor(Math.random() * 6) + 1) as 1 | 2 | 3 | 4 | 5 | 6;
}
const result = rollDice();
주로 고정값을 설명할 때 쓰인다.
/** loc/lat 좌표에 지도를 생성합니다. */
declare function setupMap(config: MapConfig): void;
// ---생략---
interface MapConfig {
lng: number;
lat: number;
tileSize: 8 | 16 | 32;
}
setupMap({ lng: -73.935242, lat: 40.73061, tileSize: 16 });