Typescript 타입스크립트
자바스크립트는 동적타입언어이다. <-> 정적타입언어 Java,C, C++
C언어의 경우
int x = 1; // 정수형태의 4byte
float y = 3.0; // 실수형태의 8byte
1byte = 8bit = 2^8 = 256 종류의 수를 표현 가능
TYPE을 정한(필요한) 이유 :
- 메모리를 절약하기 위해!!!
- 2진수를 해석할때 필요하다. ( 메모리에 저장된 2진수를 숫자로 볼것인가, 문자로 볼것인가 등)
- 값을 저장할 때 확보하기 위한 메모리 공간크기 확보
- 값을 참조할 때 읽어들이기 위한 메모리 공간크기 알기위해
문자 : 0개이상의 문자로 이루어진 배열 이다. 사실은 원시값이 아니당.
Type이 있으면, 에러 잡기가 쉬워지고, 코드에디터의 도움을 더 받을 수 있다.
typescript를 javascript로 변환해주는 과정이 있음. (= 트랜스파일링)
브라우저는 Javascript밖에 모르니까 Typesciprt 트랜스파일링 과정이 필요함.
비교하자면, C언어로 치면 컴파일되는거임 그래서 컴파일 타임에 에러를 잡을 수 가 있다.(런타임에 잡는거보다 훨 좋음)
TypeScript를 사용하면 Babel을 안써도된다! 컴파일할때 ES3나 ES5로 지정할 수 있음.
Webpack은 모듈번들러로써, 쪼개진 파일을 Script태그를 써야하는데 이 script태그에도 순서가 있기때문에 이것을 한파일로 만들어버릴 수 있음.
TypeScript 결국 Webpack은 써야하긴 하지만, 안써도 돌아가긴함
npm i -g typescript // 전역에 타입스크립트 설치
tsc -v // 타입스크립트 버전확인 겸 설치잘됬는지 확인 Version 3.7.5 이런식으로 나오면 정상
폴더안에 index.ts파일을 만들고, 내부에 const x = 1; 이라고 하고
tsc index
명령어를 치면
index.js가 생성되는데 var로 생성이 됨!!
Type에 대한 정보는 컴파일 까지만 유효!!
재할당이 금지된 변수 = 상수 = 고정된 값을 돌려 쓰기 위해서
생성자함수 vs 클래스(class) 차이
생성자함수보다 클래스가 더 엄격하다.
메소드가 다르다.
일반함수도 메소드로 호출 할 수 있다.