타입스크립트는 왜 만들어졌는가 ? 존재하는 이유가 뭔지 왜 사람들이 자바스크립트 버리고 타입 스크립트로 넘어오는지 ??
>> 바로 안정성 때문 더 정확히 말하면 타입 안정성 때문
타입 안정성 덕분에 코드의 버그가 줄어들게됨 , 런타임 에러가 줄어들고 생산성도 늘어나게 된다.
자바스크립트는 매우 유연한 언어이다. 개발자가 코드를 잘못짜도 이해하려하고 도와주려한다.
자바스크립트에도 true/false같은 boolean 타입이 있다. Number, string 타입도 있음 배열, 객체같은 자료구조도 있음
타입스크립트와 타입이 같음 그러나 자바스크립트는 개발자를 이해해주려하고 에러를 보여주지않으려함 그래서 멍청한 코드를 작성해도 에러가없음
boolean인 false는 string이 됨 배열의 마지막에서
다른 언어는 에러를 보여줘야 할 상황에 자바스크립트는 그러지 않음
보통 이상적으로 코드를 실행하기도 전에 에러를 잡아내고싶어 하기 때문에 타입스크립트를 이용해야 함
타입스크립트란?
strongly typed(강타입) 프로그래밍 언어이다.
타입스크립트는 작성한 코드가 자바스크립트로 변환된다.
>여기서 의문 결국 자바스크립트로 변환해줄 뿐인 타입스크립트가 뭐가 좋다는거지?
타입스크립트 코드가 자바스크립트로 변환되기 전에 보호장치가 발생하기 때문에 멍청한 코드를 작성하지 않도록 도와줌!
만약 타입스크립트 코드에 에러가 있다면 그 코드는 자바스크립트로 컴파일 되지 않음
타입스크립트 코드가 자바스크립트 코드로 컴파일이 되었다면 그 코드는 문제가 없다는 뜻 버그가 없다는 뜻이다.
타입스크립트 타입 시스템에 대해 알아보자
우선 변수를 생성하면 타입스크립트가 타입을 추론해줄 수 있음.

또는 우리가 직접 타입을 지정해줄 수 있는데

생성해준 타입과 맞지않는 타입으로 입력하게 된다면 타입이 맞지 않다고 에러가 발생한다.

바르게 입력하면 오류가 사라지는 것을 볼 수 있다.

하지만 타입스크립트가 직접 타입을 추론하게 하는 방법이 코드도 더 간결해지고 가독성이 좋기 때문에
웬만하면 이 방법을 사용하는 것을 추천한다.
player라는 object가 있다고 하자. player중 몇몇은 age가 있고 몇몇은 age가 없지만 모두 name을 가지고 있는 경우를 작성해보면

물음표를 붙이면 age를 선택적으로 넣어줄 수 있도록 해준다.
만약 player 가 여러명일 때
같은 코드를 반복하지 않도록 Alias(별칭)를 설정해줄 수 있다.

첫번째 글자를 대문자로 타입을 Player로 설정해주면 반복되는 코드를 간결하게 보여줄 수 있다.
return값의 타입을 함수로 지정해주는 법을 알아보자.

우선 인수의 타입은 이렇게 콜론 옆에 작성하여 지정해준다.

그리고 설정해줬던 타입의 별칭을 콜론 옆에 붙여주면 된다.
화살표 함수를 썼을 때는 어떻게 지정해줘야 할까?

요로코롬 똑같이 지정해주면 된다!