러닝 타입스크립트 - 자바스크립트에서 타입스크립트로

최관수·2023년 12월 1일
0

러닝타입스크립트

목록 보기
1/9

러닝 타입스크립트를 읽고 요약한 내용입니다.

CHAPTER 1. 자바스크립트에서 타입스크립트로

자바스크립트의 역사

  • 1995년 넷스케이프의 브렌던 아이크는 웹사이트에 쉽게 접근하고 사용 가능한 자바스크립트를 10일 만에 설계했습니다. 별난 특성과 결점 덕분에 조롱 받기도 했지만 그 이후 브라우저, 임베디드 애플리케이션, 서버 런타임 환경 등 엄청나게 발전했습니다.

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

  • 순수한 자바스크립트 자체를 바닐라라고 부릅니다.
  • 값 비싼 자유 - 코드 구성의 제한이 없고 이런 자유 덕분에 초기엔 재밌지만, 규모가 커질 수록 그 자유가 얼마나 훼손될 수 있는지 명확해집니다.
  • 다른 언어는 컴파일러가 충돌할 수 있다 판단되면 코드 실행을 거부할 수 있지만, 충돌 가능성을 먼저 확인하지 않고 코드를 실행하는 동적 타입(Dynamic type) 언어인 자바스크립트는 그렇지 않습니다.
  • 부족한 문서 - 블록 주석으로 함수와 변수를 설명하는 JSDoc 표준을 채택했지만, 규모가 있는 코드베이스에서 사용하기 불편합니다.
    • JSDoc 설명이 코드가 잘못되는 것을 막을 수 없고, 이전에는 정확했더라도 코드 리팩토링 중에 생긴 변경 사항과 관련된 현재 유효하지 않은 JSDoc 주석을 모두 찾기는 어려우며, 복잡한 객체를 설명할 때는 다루기 어렵고 장황해서 타입과 그 관계를 정의하려면 다수의 독립형 주석이 필요합니다.

타입스크립트

  • 타입스크립트는 2010년대 초 마이크로소프트 내부에서 만들어진 후 2012년 출시 및 오픈 소스화되었습니다.
    • 프로그래밍 언어, 타입 검사기, 컴파일러, 언어 서비스
  • 타입스크립트는 매개변수와 변수에 제공되는 값의 타입을 지정 가능하고, 명시적으로 작성해야 합니다.
  • 잘못된 인수를 사용해서 함수를 호출하는 건 타입스크립트가 제한하는 자바스크립트가 가진 근시안적인 자유입니다.
    function sayMyName(fullName) {
    	console.log(`You acting kind of shady, ain't callin' me ${fullName}`)
    }
    
    sayMyName("Beyonce", "Knowles");

참고자료

  • 러닝 타입스크립트(조시 골드버그, 2023)
profile
평소엔 책과 영화와 음악을 좋아합니다. 보편적이고 보통사람들을 위한 서비스 개발을 꿈꾸고 있습니다.

0개의 댓글