말그대로 타입스크립트는 자바스트립트에 타입(type)을 부여하는 것이다. JS를 공부해본 사람은 알겠지만 데이터 타입을 정해주지 않아도 넣어주는 대로 받아서 알아서 데이터 타입을 정해준다
알아두면 좋을 것 같아서 적어두는 지식으로 타입스크립트 첫 글을 연다
짜잔 예시 나갑니다~~
< 예1 >
const name;
const age;
consol.log(name);
consol.log(age);
<예1> 의 콘솔에 찍히는 결과값은 무엇일까?
바로바로
.....
....
..
.
undefinded이다! undefinded는 모든 변수의 기본값이다. 선언과 동시에 대입을 하지 않으면 메모리 할당은 받았으나 해당 주소에 어떤 값이 들어있지는 않기 때문에 undefinded 인 것이다.
그렇다면 다음과 같이 값을 넣어주면 ?
< 예2 >
const name = "jenny"
const age = 15
consol.log(name);
consol.log(age);
예상 가능하다시피 "jenny" 와 15가 출력될 것이다.
마지막으로 타입을 찍어본다면?
const name = "jenny";
const age = 15;
console.log( typeof(name))
console.log(typeof(age));
쨘
다른 언어와 달리 타입을 변수 선언과 동시에 설정해 주지 않아도 알아서 데이터 타입을 구분해준다.
이점 때문에 js가 참 편하다고 생각했었는데 solidity로 컨트랙트를 짠다던가 db에 넣을 값을 받을 때 등등
특정 데이터 타입을 입력받아야 할때 문제가 생길 수 있다.
그 예시로
< 예 3>
const num1 = "1";
const num2 = 15;
function add(n1, n2){
return n1 + n2;
}
const result = add(num1 + num2);
console.log(result);
이 결과값은? 예상할 수 있듯이 115가 될 것이다. 이런 오류는 사용자의 입력 실수때문에 발생할 수 도 있고, 오류 코드를 뱉어내지도 않기 때문에 찾아내기 쉽지 않다.
그래서 typescript의 도움을 받아서 데이터 형을 지정해줄 수 있다.