Javascript
- HTML 및 웹 개발에 가장 많이 사용되는 프로그래밍 언어
- 메모리 측면에서 가볍고, 크로스 플랫폼 개발을 지원하는 객체 기반 스크립팅 언어
- 웹 사이트의 클라이언트 쪽 동적 페이지를 만드는데 적합
- HTML 페이지에서 사용되고, 페이지가 로드될 때 자동으로 실행
- 일반 텍스트로 제공 및 실행
- 실행을 위한 별도의 준비나 컴파일이 필요하지 않음
특징
1. 서버 커뮤니케이션
- 페이지를 서버에 전송하기 전, 사용자 입력의 유효성을 검사하는 옵션 제공
2. 상호 작용
- 마우스 hover 시 나타나는 인터페이스 등
3. 낮은 reloading 속도
- 코드를 즉시 참조하므로 개발자가 업데이트한 사항을 페이지가 다시 로드될 때 까지 기다리지 않고 바로 볼 수 있음
4. 날짜와 시간
- 시간에 의존하는 provision of a greeting user를 제공
Javascript 사용 방법
1. HTML 파일에서 Javascript 코드를 사용하는 방법
2. script 태그(<script></script>) 내에서 호출할 수 있는 별도의 Javascript 파일 생성
Typescript
- 오픈 소스기반 객체 지향 프로그래밍 언어
- Javascript 파일로 컴파일됨
- 강력한 타입을 갖는 Javascript superset
- 브라우저에서 직접 실행되지 않음 (Javascript로 컴파일 필요)
- 확장자 : ts
- js 파일을 ts 파일로 변경해도 유효
※ ES6 버전의 Javascript는 Javascript임
특징
1. 기본 특징
- Elementary building block은 Javascript에서 사용되는 코딩 구조를 구현
- Typescript를 알기 전에 Javascript를 알아야 함
- 코드를 실행하려면 Javascript로 변환 필요
2. Portable
- Javascript가 문제없이 실행될 수 있는 환경에서 Typescript도 쉽게 실행 가능
- 많은 브라우저와 호환
- 특정 가상 머신이나 런타임 환경이 필요하지 않음
3. Transpiler
- Transpiler가 Typescript에서 오류 검사 기능을 제공
- 컴파일러에서 실제 스크립트를 실행하기 전에 코딩 오류에 집중 가능
- 코딩하는 동안 코드를 컴파일 하고, 컴파일 오류를 생성하기 때문에 가능
4. Type cheking
- 정적 타입 검사 가능
- 컴파일 타임에 완료됨
- 코드를 입력하는 동안 누구나 오류를 찾을 수 있으므로, 실제 코드가 실행될 때까지 기다릴 필요가 없음
5. DOM 관리
- DOM Typescript에서 요소를 추가/제거하는데 유용
Typescript 사용 방법
- ts 확장자를 가진 파일에 Typescript 코드 작성 가능
- 모든 코드 편집기에서 작성 가능
- Javascript 파일로 변환되면 HTML에 포함되어 모든 부라우저에 실행 가능
Javascript | Typescript | |
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 | 함수, 모듈, statement, expression, 변수, 주석 | <script></script> 태그 내에 작성 |
Time for Coding | application을 위한 빠른 코딩 | 코드를 컴파일하는 시간 소요 |
어느 것을 사용하는 것이 더 좋을까?
- Javascript는 비교적 작은 프로젝트에 적합하고, Typescript는 대규모 프로젝트에 적합
- Typescript는 객체지향 언어이므로 코드 재사용, 단순, 깨끗, 일관성 등 다양한 장점을 가짐
출처
- https://medium.com/@infinijith/javascript-vs-typescript-which-is-better-2020-updated-871866a3c68c
'Programming > JavaScript & TypeScript' 카테고리의 다른 글
[Node.js-Mongo] MongoError: Exceeded memory limit for $, but didn't allow external sort. Pass allowDiskUse:true to opt in. 해결 (0) | 2020.09.11 |
---|---|
ECMAScript 2020 (0) | 2020.09.10 |
node.js v8 getHeapStatistics() 각 값 단위 (0) | 2020.08.25 |
[NPM SQLite3] statement의 run 쿼리 error handling 방법 (0) | 2020.08.25 |
[NPM] forever 모듈 자체 로그 파일 생성하지 않음 (0) | 2020.07.29 |