Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- redux
- useState
- react editor #TinyMCE editor
- social login #kakao login
- social login #facebook login
- social login #Microsoft login
- social login #google login
- useref
- Material UI
- cafe24
- yup
- 쇼핑몰
- git flow
- 옵셔널 체이닝
- ESLint #Prettier
Archives
- Today
- Total
여행가는개발자
Typescript vs Javascript 본문
728x90
반응형
지금까지 자바스크립트로 개발을 하다가 이번 프로젝트에서는 타입스크립트로 개발을 진행하게되었다.
타입스크립트로 개발하면서 두가지의 언어를 정리해보려고 한다.
Javascript
- 웹 개발에 가장 많이 사용되는 프로그래밍 언어
- 메모리 측면에서 가볍고, 크로스 플랫폼 개발을 지원하는 객체 기반 스크립팅 언어
- 웹 사이트의 클라이언트 쪽 동적 페이지를 만드는데 적합
- HTML 페이지에서 사용되고, 페이지가 로드될 때 자동으로 실행
- 일반 텍스트로 제공 및 실행
- 실행을 위한 별도의 준비나 컴파일이 필요하지 않음
특징
1. 서버 커뮤니케이션
- 페이지를 서버에 전송하기 전, 사용자 입력의 유효성을 검사하는 옵션 제공
- 상호 작용
- 마우스 hover 시 나타나는 인터페이스 등
- 낮은 reloading 속도
- 코드를 즉시 참조하므로 개발자가 업데이트한 사항을 페이지가 다시 로드될 때 까지 기다리지 않고 바로 볼 수 있음
Typescript
- 오픈 소스기반 객체 지향 프로그래밍 언어
- Javascript 파일로 컴파일됨
- 강력한 타입을 갖는 Javascript superset
- 브라우저에서 직접 실행되지 않음 (Javascript로 컴파일 필요)
- 확장자 : ts
- js 파일을 ts 파일로 변경해도 유효
※ ES6 버전의 Javascript는 Javascript임
특징
1. 기본 특징
- Elementary building block은 Javascript에서 사용되는 코딩 구조를 구현
- Typescript를 알기 전에 Javascript를 알아야 함
- 코드를 실행하려면 Javascript로 변환 필요
- Portable
- Javascript가 문제없이 실행될 수 있는 환경에서 Typescript도 쉽게 실행 가능
- 많은 브라우저와 호환
- 특정 가상 머신이나 런타임 환경이 필요하지 않음
- Transpiler
- Transpiler가 Typescript에서 오류 검사 기능을 제공
- 컴파일러에서 실제 스크립트를 실행하기 전에 코딩 오류에 집중 가능
- 코딩하는 동안 코드를 컴파일 하고, 컴파일 오류를 생성하기 때문에 가능
- Type cheking
- 정적 타입 검사 가능
- 컴파일 타임에 완료됨
- 코드를 입력하는 동안 누구나 오류를 찾을 수 있으므로, 실제 코드가 실행될 때까지 기다릴 필요가 없음
- DOM 관리
- DOM Typescript에서 요소를 추가/제거하는데 유용
JavascriptTypescript
Type | high-level의 interpreted 프로그래밍 언어 |
powerful type 객체 지향 컴파일 언어 |
Designed & developed by | ECMA International의 Mozilla Foundation, Netscape Communications Corpora의 Brendan Eich |
Microsoft의 Anders Hejlsberg |
Weight | 상대적으로 무거움 | 매우 가벼움 |
Server Side/ Client Side | 모두 | 주로 Client |
File Extension | .js | .ts, .tsx |
Syntax | <script></script> 태그 내에 작성 | 함수, 모듈, statement, expression, 변수, 주석 |
Time for Coding | application을 위한 빠른 코딩 | 코드를 컴파일하는 시간 소요 |
728x90
반응형
'React' 카테고리의 다른 글
Recoil (1) | 2023.10.10 |
---|---|
Json-server (0) | 2023.09.15 |
Yup (0) | 2023.09.15 |
[Material UI] (0) | 2023.09.14 |
ESLint + Prettier (4) | 2023.09.14 |