💡 타입스크립트란 ?
• 타입스크립트의 탄생
타입스크립트는 2012년에 마이크로소프트의 개발자이자 C#의 창시자로 알려진
덴마크 출신의 개발자 Anders Hejlsberg (앤더스 하일스버스)의 손에서 처음 탄생하였습니다.
• 타입스크립트 = 오픈소스
타입스크립트는 오픈소스로 공개되어 있는데 현재도 많은 프로그래머들이 이 언어의 개발과
유지보수에 참여하고 있기 때문에 앞으로도 발전 가능성이 많은 언어입니다.
• 타입스크립트의 인기
타입스크립트는 현재 자바스크립트 프로그래머들 사이에서 굉장히 인기 있는 언어입니다.
아래는 StateOfJs라는 전 세계의 자바스크립트 개발자들을 대상으로 매년 설문조사를 하는 매우 공신력 있는 기관의 설문 결과입니다. 2022년도 결과에 따르면 100명의 자바스크립트 개발자들 중에서 단 11명만 타입스크립트를 아직 사용하지 않고 있다고 합니다. 그 말은 100명 중 89명은 현재 타입스크립트를 사용하고 있다는 의미입니다 😃
해외뿐만 아니라 국내에서도 타입스크립트의 인기는 엄청납니다. 실제로 채용공고만 여러개 보아도 자바스크립트를 사용하는 개발자 채용 공고 중 프론트엔드, 백엔드 포지션 상관없이 자격요건이나 우대사항에 타입스크립트가 많이 자리잡았습니다.
또한, 2023년도 프로그래머스가 공개한 개발자 설문 조사 결과에 따르면 가장 배우고 싶은 언어2등으로 타입스크립트가 선정되었습니다. 사실상 1위가 코틀린이기 때문에 자바스크립트를 사용하는 개발자분들 사이에서는 타입스크립트가 배우고 싶은 언어 1위인 것 같습니다.
• 타입스크립트 = 자바스크립트의 확장판
사실 타입스크립트는 자바스크립트와 완전히 다른 언어가 아닙니다. 타입스크립트는 기존의 자바스크립트를 더 안전하게 사용할 수 있도록 타입 관련된 여러가지 기능들을 추가한 언어입니다. 따라서 타입스크립트를 자바스크립트의 확장판이라고 부르는 것 입니다.
이와 같이 동일한 기능을 하는 두 개의 코드가 있습니다.
왼쪽은 자바스크립트 코드, 오른쪽은 타입스크립트 코드입니다.
왼쪽의 자바스크립트 코드에서는 변수 선언 시 변수의 타입까지 지정하지는 않습니다.
왜냐하면, 자바스크립트에서는 변수의 타입을 프로그래머가 직접 정의할 방법이 없기 때문입니다.
반면에 오른쪽 타입스크립트 코드에서는 변수 이름 뒤에 콜론과 함께 변수의 타입 지정이 가능합니다.
현재 타입스크립트 코드 속 변수 a와 b 모두 number이라는 숫자 타입을 갖도록 정의하였는데
이렇게 되면 이 변수에는 숫자값 이외에 다른 값이 올 수 없는 고정된 상태임을 알 수 있습니다.
이렇게 자바스크립트에서 타입을 정의하는 문법만 추가된 것이 타입스크립트입니다!
💡 타입스크립트, 왜 나오게 된걸까?
사실 자바스크립트 자체만으로도 이미 인기있는 프로그래밍 언어입니다.
실제로 2022년도 스택 오버 플로우 개발자 설문 조사 결과에서도 자바스크립트가 당당하게 1순위를 차지하고 있습니다. 이렇게 이미 많은 사람들에게 사랑받고 있는 자바스크립트에 왜 타입이라는 기능을 추가해서 타입스크립트를 만들었을까요? 모순적으로 자바스크립트의 인기 때문입니다.
자바스크립트는 원래 웹 브라우저에서만 동작하고 아주 간단한 상호작용 정도를 처리하기 위해 개발되었습니다.
예를 들면 웹사이트에서 우리가 버튼을 클릭하면 경고창을 띄워주는 정도의 상호작용 말이죠.
그래서 자바스크립트는 유연한 문법으로 설계되었고 자유로웠습니다. 버그로부터의 안정성은 포기하는 대신 프로그래머가 쉽고 빠르게 코드를 작성하는 데에 중점을 두고 만들어진 것입니다.
어느날 Node.js가 등장합니다. Node.js는 자바스크립트 코드를 읽어서 프로그램을 실행하는 자바스크립트 구동기입니다.
이는 웹브라우저에서만 실행될 수 있었던 자바스크립트가 이젠 어디서든 실행할 수 있게 되었고,
어떤 프로그램이든 자바스크립트를 이용해서 만들 수 있다는 것을 의미합니다. (웹서버, 모바일앱, 데스크탑앱)
그야말로 자바스크립트의 한계가 사라지고 전성기가 도래했다는 것을 알 수 있습니다.
하지만 복잡한 대규모 어플리케이션을 자바스크립트로 개발하면서 문제점이 나타났습니다.
문제는 바로 자바스크립트가 너무 엄격하지 않고 유연하다는 점입니다.
유연한 문법은 버그발생 가능성을 높이고, 프로그램의 안정성을 떨어뜨리는 단점이 나타났습니다.
따라서, 기존 문법들은 그대로 유지한 채 안정성을 새로 확보한 문법으로 타입스크립트가 나타나게 된 것입니다!
( TypeScript : 안정적으로 자바스크립트를 사용하기 위해 타입이라는 안전장치를 추가한 확장판 자바스크립트 )
출처) 한 입 크기로 잘라먹는 타입스크립트(TypeScript)_이정환
'📍 프로그래밍 언어 > TypeScript' 카테고리의 다른 글
[ TypeScript ] 배열과 튜플, 그리고 객체 이해하기 (0) | 2024.12.18 |
---|---|
[ TypeScript ] 데이터 타입 (기본타입 / 원시타입 / 리터럴타입) (0) | 2024.12.18 |
[ TypeScript ] Hello TS World ! (@types/node, TSX) (0) | 2024.12.17 |
[ TypeScript ] 타입스크립트의 동작 원리 (0) | 2024.12.17 |
[ TypeScript ] JavaScript vs TypeScript (동적타입/정적타입) (0) | 2024.12.17 |