TS에서 반환값의 타입을 정의할떄
동기 코드로 작성하면 반환값이 무엇인지 TS에서 추론하게 된다
예를 들어
function fetchItems() {
let items = ['a','b','c']
return items;
}
let result = fetchItems();
console.log(result);
처럼 작성하면TS는 result에 담긴 fetchItems() 의 반환값이 string[] 이라는 것을 추론하여 알게 된다.
그와 다르게 비동기적으로 코드를 짜세괴면 반환값이 무었인지추론하지 못한다
예를 들어
function fetchItems(): promise<string[]> {
let items: string[] = ['a','b','c'];
return new Promise(function (resolve) {
resolce(items);
});
}
fetchItems();
처럼 코드를 비동기적으로 작성하면 promise로 반환되는 결과값의 타입에 대해 TS에서 추론하지 못한다.
promise자체가 타입을 제너릭으로 받게 되어있다. <T>
'First step > 언어의 기초' 카테고리의 다른 글
자바스크립트의 동작원리 (Stack, Queue, event loop) (0) | 2022.02.09 |
---|---|
JS 기본기 채우기 (0) | 2022.01.06 |
3주차 (0) | 2021.08.07 |
2주차 조건부 실행, 함수 (0) | 2021.08.02 |
1주차 인트로 변수, 표현식 및 코드 (0) | 2021.07.22 |