
저는 Node.js express로 백엔드를 입문했고, 앞으로도 express에 대한 애정은 변하지 않을 것 같습니다.
프로젝트를 하면서 코드를 작성하던 중, 지속적으로 느끼던 게 하나 있었습니다.
해결책은 있었습니다.
Sequelize, TypeORM과 같은 ORM(Object Relational Mapping) 을 사용하는 것이었습니다.
그래서 백엔드를 잘 아는 친구에게 물어봤습니다. 그랬더니 일단 원활하게 짜려면 Typescript를 먼저 배우는 걸로 하자고 하더라구요.
마침 과제도 다 끝났고, 시간도 남아서 Typescript를 배우기로 했습니다!
ORM은 타입스크립트 잘 쓸 수 있게 되면 배워서 코드 리팩토링하죠 뭐..
velog 작성에는 타입스크립트 공식 문서를 참고해서 작성했습니다.
적을 알고 나를 알면 백전백승! 먼저 Typescript에 대해 알아봐야겠죠?
타입스크립트는 자바스크립트의 슈퍼셋(상위 집합)이라고 합니다. 즉, 자바스크립트의 모든 기능을 지원하고, 동시에 추가 기능도 지원한다는 의미죠.
타입스크립트를 사용하는 이유는 당연하게도 "타입"을 사용하기 위함이겠죠?
function hello(a , b){
return a + b;
}
hello('hello','world');
hello(4,5);
이와 같은 자바스크립트의 코드는 분명 숫자를 전달받으려고 하는 것일 것입니다. 그러나 실제로는 어떤 타입의 인수를 받아야 할 지 정의가 되어 있지 않습니다. 그래서 문자 + 문자, 숫자 + 숫자와 같은 연산은 오류 없이 진행됩니다.
function hello(a: string, b: string) {
return a + b;
}
sum(1, 2); // 에러!
그렇지만 이렇게 타입스크립트를 사용한다면? 미리 런타임 에러가 뜨는 부분을 알려줄 수 있습니다.
타입스크립트 개념은 이쯤 하고.. 실습으로 배워 보겠습니다.
Typescript를 사용하려면 먼저 typescript를 install해서 써야겠죠?
npm init -y
npm install typescript
새 폴더를 만들어서 사용했기 때문에 새로 init해서 타입스크립트를 install 해줬습니다!
그 후에는
npx tsc --init
로 tsconfig.json 파일을 생성해 줬습니다.
tsconfig.json 파일을 왜 생성해 줘야 하는지 궁금해서 찾아 봤는데,
디렉토리에 tsconfig.json 파일이 있다면 해당 디렉토리가 TypeScript 프로젝트의 루트가 된다고 합니다.
tsconfig.json 파일이 있는 디렉토리는 TypeScript 프로젝트의 루트 디렉토리가 되는 거겠네요!
타입스크립트를 쓰려면 타입이라는 걸 정의해 줘 봐야겠죠.
function sum(a : number, b : number){
return a + b;
}
sum(1,5);
위와 같이 사용할 수 있습니다.
코틀린과 선언이 비슷하네요!
난생 처음 타입스크립트를 입문했습니다. 앞으로 갈 길이 멀긴 하지만 오늘은 여기까지 하고 새로운 지식들을 배우는 대로 주관적으로 정리해보도록 하겠습니다!
피드백 받아요..피드백..
좋은 피드백은 이 고딩을 더 나은 개발자로 만들 수 있습니다. 피드백 많이 해주세요!!
tsconfig.json을 유용하게 사용하면 절대경로를 활용해 Import 코드도 가독성 좋게 바꿀 수 있답니다
화이팅입니다~~~