JavaScript
JavaScript 란?
- 웹 개발에 주로 사용됨
- 웹 페이지를 대화식으로 만드는 프로그래밍 언어
- 폼 유효성 검사, 애니메이션 적용 및 이벤트 생성을 수행
- 클라이언트 측 스크립팅 언어
└ 사용자가 웹 브라우저를 열고 웹 페이지를 요청하면 해당 요청이 웹 서버로 이동함 - 멀티 스레딩, 멀티 프로세싱 기능이 없음
예시 코드
└ 정적 타입을 지원하지 않으므로 어떤 타입의 반환값을 리턴해야 하는지 명확하지 않음
TypeScript
TypeScript 란?
- MS에서 개발하여 2012년 10월에 첫 출시됨
- 오픈소스 프로그래밍 언어로 어떤 브라우저나 호스트, 운영체제에서도 동작함
- ES6의 새로운 기능들을 사용하기 위해 Babel과 같은 별도 트랜스파일러를 사용하지 않아도 됨
- 정적 타입 언어로 컴파일 시간이 조금 걸리지만, 안정성이 보장됨
- JavaScript의 상위 집합으로 JavaScript의 모든 기능이 있음
- TypeScript 컴파일러를 사용하여 ts 파일을 js 파일로 변환, 쉽게 통합
- 정적 유형 검사 제공
- 클래스 기반 객체를 만들 수 있음
- 클래스 기반이므로 객체 지향 프로그래밍 언어로 상속, 캡슐화 및 생성자를 지원할 수 있음
TypeScript 특징
- class와 interface의 특징을 지원하므로 완전한 객체지향 프로그래밍 환경을 제공함
- javascript의 타입을 확장하고 타입 어노테이션을 이용해서 변수에 타입을 선언할 수 있음
- ES6에서 제공하는 모듈 선언과 모듈 호출 방식을 지원함
- MS에서 만든 언어이므로 같은 회사에서 만든 vscode와 궁합이 너무 좋음
- 조기 버그를 감지할 수 있음
예시 코드
└ 정적 타입을 지원, 컴파일 단계에서 오류 포착
장점 : 코드의 가독성을 높임
JavaScript vs TypeScript
예시
기타
- 타입은 소문자, 대문자 구별
- 타입 선언을 생략하면 동적으로 타입이 결정 → 타입 추론
- 타입 선언 생략 + 값 할당 x → any 타입
'React > 2022-上' 카테고리의 다른 글
Class / Functional Component (클래스형 컴포넌트, 함수형 컴포넌트) (0) | 2022.03.28 |
---|---|
React state, props (0) | 2022.03.27 |
filter, map, every (0) | 2022.03.27 |
container-presentation (0) | 2022.03.27 |
Destructuring Assignment (구조 분해 할당) (0) | 2022.03.27 |