const logTodo = (title, completed) => {
console.log(`
title: ${title}
completed: ${completed}
`
)
}
logTodo(false, "Jogging");
logTodo
의 1번째 인자로 false
가 패스되었다. logTodo
선언시에는 1번째 인자가 title
이었는데 title
에 문자열
데이터를 받는 것을 의미했다면 위 코드는 원치 않는 결과를 로깅하게 될 것이다.
title
과 completed
가 뒤바뀐 결과를 보여줄테니 말이다.
이게 자바스크립트로 프로그램을 짤 때 생기는 문제중 하나다.
인자의 순서를 바꿔서 넣어도 에러가 발생하지 않고 프로그램만 의도하지 않은 방식으로 작동하게 될테니 말이다.
그럼, 타입스크립트를 사용하여 프로그램 실행 전에 이러한 문제를 해결해보자.
1번째 인자 false
가 boolean
타입이고 매개변수 title
의 타입인 string
과 일치하지 않기에 에러를 발생시킨다.