Skip to content

Latest commit

 

History

History
72 lines (31 loc) · 3.58 KB

yji.md

File metadata and controls

72 lines (31 loc) · 3.58 KB

1.1 자바스크립트의 역사

1995년 넷스케이프 브렌던 아이크가 10일만에 자바스크립트를 설계했고, 1995년 이후 자바스크립트 운영위원회읜 TC39로부터 엄청나게 발전해왔음

1.2 바닐라 자바스크립트의 함정

  • 바닐라(vanilla): 중요한 언어 확장이나 프레임워크 없이 자바스크립트를 사용하는 순수 자바스크립트

① 값 비싼 자유: 자바스크립트는 동적 타입 언어로, 충돌 가능성을 먼저 확인하지 않고 코드를 실행하기 때문에 오류 발생에 치명적

② 부족한 문서: 함수의 매개변수, 함수 반환, 변수 또는 다른 구성요소의 의미를 설명하는 표준화 된 내용이 없어 JSDoc 표준 채택 → 규모가 있는 코드 베이스에서 유지보수 힘듦

③ 부족한 개발자 도구: 타입을 식별하는 내장된 방법을 제공하지 않음

1.3 타입스트립트란

2010년대 초에 마이크로소프트 내부에서 개발되어 2012년에 출시 및 오픈소스화 됨

① 프로그래밍 언어: 자바스크립트의 모든 구문과, 타입을 정의하고 사용하기 위한 타입스크립트 고유 구문이 포함된 언어

② 타입 검사기: 자바스크립트 및 타입스크립트로 작성된 일련의 파일에서 생성된 모든 구성요소를 이해하고, 잘못 구성된 부분을 알려주는 프로그램

③ 컴파일러: 타입 검사기를 실행하고 문제를 보고한 후 이에 대응되는 자바스크립트 코드를 생성하는 프로그램

④ 언어 서비스: 타입 검사기를 사용해 VS Code와 같은 편집기에 개발자에게 유용한 유틸리티 제공법을 알려주는 프로그램

1.4 타입스크립트 플레이그라운드에서 시작하기

  • 타입스크립트의 장점

① 코드 입력 시 편집기에서 간단한 오류를 미리 고지해, 런타임 시 오류가 발생하는것을 방지함

② 매개변수와 변수에 제공되는 값의 타입을 지정할 수 있음

③ 구문을 적용해 객체의 형태를 설명함

④ 내장코드('자동완성') 제공

1.5 로컬에서 시작하기

npm i -g typescript

  • tsc --version 입력 시 오류 발생하는 경우 → VS Code를 관리자 권한으로 실행 후 다음의 명령어 입력 후 tsc --version 재입력

Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned

  • tsconfig.json 생성: 타입스크립트가 코드를 분석할 때 사용하는 설정 선언 & 편집기에서 해당 폴더를 열었을 때, 타입스크립트 프로젝트로 인식

tsc --init

1.6 타입스크립트에 대한 오해

① 잘못된 코드 해결책: 타입스크립트는 코드 스타일을 강요하지 않음 → 타입스크립트는 자바스크립트에서 사용했던 아키텍처 패턴 중 무엇이든 사용해서 코드를 작성할 수 있도록 지원함

② 자바스크립트로의 확장: 타입스크립트는 자바스크립트 작동 방식을 전혀 변경하지 않음

③ 자바스크립트보다 느림: 타입스크립트가 코드에 적용하는 유일한 변경 사항은 인터넷 익스플로러 11과 같이 오래된 런타임 환경을 지원하기 위해 이전 버전의 자바스크립트로 코드를 컴파일하도록 요청하는 경우로, 운영 프레임 워크 대다수는 타입스크립트의 컴파일러를 전혀 상요하지 않음 → 트랜스파일을 위한 별도의 도구를 사용하고 타입스크립트는 타입 검사용으로만 사용함

④ 진화가 끝남: 지속적으로 버그 수정 및 기능 추가중임