정의

타입스크립트는 단순히 이야기하자면 자바스크립트에 타입을 부여한 언어입니다. 즉 자바스크립트의 확장 버전 이라 볼 수 있지요. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하기 위해서는 컴파일의 과정 이 필요합니다.

사용 목적

에러의 방지

타입스크립트는 사용자에게 보호 장비로 이용되곤 합니다. 무엇으로 부터의 보호 장비일까요?. 바로 에러로부터의 보호 장비라 할 수 있습니다.

function add(a,b){
return a+b;
}

위 와 같은 자바스크립트 함수가 있다고 합니다. 그런데 만약 각각의 매개변수에 1과 “1”이 들어가면 어떻게 될까요? 신기하게도 11이라는 결과를 얻게 됩니다. 사용자는 2를 원했지만요.

이번에는 한번 존재하지 않는 메소드를 사용 해 볼까요?

const people={
name:"lee"
}
pepole.talk()

신기하게도 작성 직후, 그러니까 실행 전까지는 에러를 확인 할 수 없습니다. 이후 실행되고 나서야 문제를 확인하게 되죠.

이제는 타입스크립트에서는 이러한 에러들을 어떻게 방지하는 지 코드를 통해 한번 확인해 볼까요?

타입을 확인해 에러를 방지해 줍니다

function divide(a,b){
    return a/b
}

이번에는 두 개의 입력 값을 나누어주는 함수가 등장했습니다. 그런데 함수를 작성 하자마자 위와 같은 에러를 만나게 됩니다

<aside> 💡 Parameter 'a'/’b’ implicitly has an 'any' type.

</aside>

우선 우리는 입력 값에 아무런 타입을 명시하고 있지 않습니다. 그렇다 보니 타입 스크립트는 일단 any 라는 타입으로 암묵적으로 a,b를 보고 있다고 이야기합니다.

그 다음으로는 아래와 같이 접근 해볼까요?

function divide(a:number,b:number){
    return a/b``
}

divide("hello","bye")
//Argument of type 'string' is not assignable to parameter of type 'number'.

이번에는 입력이 예정된 값의 타입과 입력 값의 타입이 숫자와 문자열로 서로 다르다는 에러 메세지를 보내고 있습니다.