타입스크립트
typescript 는 javascript의 슈퍼셋이다(type + script)
자바스크립트가 제공하지 못하는 명시적 유형 설명을 지원하는 언어.
왜 필요한가?
변수 이름을 어떻게 설정하는가에 따라서 그 자체로 데이터에 대한 설명이 된다.
자바스크립트에서는 변수명으로 데이터에 대한 의미를 설명해줄 수 있지만, 그 데이터타입이 어떤 것인지는 알 수가 없다.
let age = 10; // 변수명이 age니까 나이는 10이라는 뜻이겠구나.
let x = 10; // x는 뭘 뜻하는 변수이지?
타입스크립트를 사용하게 되면, 자바스크립트와 동일하게 변수명을 사용하고 뒤에 추가적인 유형설명을 적어 어떤 데이터타입을 설명할 수 있다. 이 때 뒤에 추가하는 타입은 기존에 존재하는 타입 뿐만 아니라 타입정의를 통해 내가 새로 만들어낸 타입을 넣을 수도 있다.
type Centimeter = number;
type Rainbow = 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'indigo' | 'violet';
let age:number = 10; // 나이는 10살이고 숫자타입
let height:number = 157; // 키는 157이고 숫자타입
let height2:Centimeter = 157; // 키는 157이고 단위는 cm
let color:Rainbow = 'orange' // 색은 무지개색 중 하나인 오렌지
타입을 나타내준다는 것은 코드가 자신을 표현해내는 표현력이 굉장히 명확하고, 풍성해진다는 뜻이다.
코드를 봤을 때, 한 눈에 어떤 역할을 하는지 어떤 타입인지 파악하기가 용이해진다.
또한 타입을 정의해주면, 오류 가능성을 줄여주는데 기여하기도 한다. 타입스크립트가 변수에 함께 지정된 데이터유형이 아닌 것을 자체적으로 한번 걸러주는 역할을 하기 때문이다.
ex) 위의 변수 color에는 Rainbow 타입에 정의된 7개의 색만 데이터로 받을 수 있는데, 'black'이라는 값을 대입하면 에러가 난다.
프론트엔드 코드에서 데이터가 차지하는 비중이 아주 높다.
프로젝트의 규모가 크면 클 수록 데이터의 양이 많아지고 따라서 데이터관리의 중요성이 높아진다.
또한 함께 협업하는 개발자의 수도 많을 것이다. 이 말은 곧, 내가 작성한 코드를 다른 사람이 볼 일이 많아지고 반대로 다른 사람이 작성한 코드를 내가 보면서 유지보수를 해야할 일이 비일비재한다는 뜻이다. 그럴 때, 데이터에 대한 설명이 부족하다면 데이터를 수정하기 위해서 이를 찾는데 시간이 오래 걸리거나 찾는다고 해도 정확한 데이터가 아닐 가능성이 있다.
이를 사전에 예방하기 위해서 개발자가 작성한 코드 자체가 데이터 유형 설명을 해주는 것이 중요하다.
'프로그래밍 > javascript&typescript' 카테고리의 다른 글
첫번째 프로젝트:hacker-news(1-4) (0) | 2021.09.11 |
---|---|
node.js & npm (0) | 2021.09.10 |
프론트엔트 개발환경이 복잡해진 이유 (0) | 2021.09.08 |
INTRO (0) | 2021.09.06 |
데이터 타입 (0) | 2020.03.26 |