오류 해결 참고 블로그
jsx 에서 tsx로 변환하는데 오류가 많았었음.
TS
타입 애너테이션이 필요하거나 유용한 경우
any
변수 타입을 애너테이션 처리하지 않고, 값을 초기설정하지 않으면, 해당 변수의 타입은 "any"다.
const moives = ["변산","기생충","차이나타운"];
let foundMovie;
let foundMovie:string
for (let movie of movies) {
if (movie === "기생충") {
foundMovie = "기생충";
}
}
void
- return값이 없는 함수의 type이다. (아무것도 return하지 않음)
- 변수가 아닌 함수에서 주로 사용한다. (드물게)
- return하는 값은 없지만, 엄밀히 값에 속한다.
- void 함수. undefined 상태로 반환된다.
never
- 드물게 사용됨.
- TS에 있지만, JS엔 없음.
- never은 함수가 아무것도 반환하면 안된다는 것을 나타내기 위해 쓰인다.
- 함수의 반환 타입으로 쓰이는 경우와, 절대 반환되지 않아야 할 함수를 애너테이션 처리할 때 쓰인다.
- 이 함수가 절대 return할 기회를 가지면 안될 때 쓰임.
(return하면 함수가 끝나버리니까, 그래선 안될 함수에 쓰이려나 ?)
void와 차이점?
- void는 아무것도 반환하지 않은 경우 함수의 백그라운드에서 undefined 상태로 반환된다.
- never type 함수는 일반적으로 예외를 발생시키는 함수가 될 것이다. 예를 들어 아무것도 반환할 일이 없거나, 어떤 루프에서 연속적으로 실행되는 함수일 것임.