일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- db
- REST
- eqauls-hashcode
- 코어자바스크립트
- Mac
- class-transformer
- flutter mac 설치
- MySQL
- 인텔리제이
- InteliJ
- Spring
- SQL
- javascript error
- node.js
- TypeScript
- 프로젝트 여러 개
- JavaScript
- ojdbc6
- svn
- Stream
- Java
- datagrip 한글깨짐
- tecoble
- 프로그래머스
- DART
- @RequestBody
- maven
- 봤어요처리
- oracle
- Aspect
- Today
- Total
개발자가 되고 싶은 개발자
시퀄라이즈의 타입스크립트 호환성 본문
(이 글은 작성중입니다.)
가벼움 등의 이점으로 노드를 이용하여 많은 기업들이 빠르게 서비스를 만들어 나갔지만 결국 동적언어의 한계로 타입스크립트가 등장했고, 이로 인해 더욱 더 노드가 트렌드가 되며 많은 인기를 끌었습니다.
기존 자바스크립트 라이브러리들도 오픈소스 개발자들로 인해 빠르게 타입지원을 이뤄나가 순식간에 TS를 도입하는 사례가 많았고 빠르게 국내 개발시장에 자리잡은 것 같습니다.
빠르게 나아지고 발전하고 있지만 항상 본인의 업무 환경이 최신 환경일 수는 없습니다.
어느 순간 현재 주어진 불편한 개발환경에 익숙해졌고, 어떤 환경에서도 방법은 존재하기 때문에 합리화했던 부분도 있었습니다.
더 합리적이고 좋은 방법이 있는데 여러 이유와 핑계들로 개선하려하지 않는 자세가 결국 공부의 필요성과 의욕도 저하시키는 것 같습니다.
생각하고 고민해보지 않고 템플릿처럼 복붙해서 사용해서 예전 면접 때 제대로 답변하지 못했던 질문을 정리해보고 향후 이어서 TypeORM 혹은 Prisma에 대해 비교해보겠습니다.
Q1.) Sequelize는 타입스크립트를 제대로 지원하지 않는다고 하는데 사용하시면서 어떠셨나요??
Q2.) TypeORM에 비해서 불편한 점은 없으셨나요??
작성일 기준 stable 버전은 6.37.3 이고, 3개월 전에 배포되었습니다.
최근까지 꾸준히 지원하는 것에 비해서는 INFO에서도 아직 타입스크립트를 완전하게 지원하는 것 같진 않은 듯한 설명입니다.
이어서 시퀄라이즈는 런타임 속성할당에 크게 의존하여, 즉시 사용할 수 없고 여러 수동 선언을 필요로한다고 나와있습니다.
import { Model, Optional } from 'sequelize';
// We don't recommend doing this. Read on for the new way of declaring Model typings.
type UserAttributes = {
id: number;
name: string;
// other attributes...
};
// we're telling the Model that 'id' is optional
// when creating an instance of the model (such as using Model.create()).
type UserCreationAttributes = Optional<UserAttributes, 'id'>;
class User extends Model<UserAttributes, UserCreationAttributes> {
declare id: number;
declare name: string;
// other attributes...
}
TypeScript를 사용하기 위해서 공식문서에서 설명해주고 있는 사용법 예시 코드입니다.
어노테이션 기법없이 사용하려니, import를 제외하고도 많은 양의 코드가 필요합니다.
심지어 단 두 개의 프로퍼티임에도 벌써 중복도 존재하는 것을 보실 수 있습니다.
(이 글은 작성중입니다.)
'Dev > JavaScript & TypeScript' 카테고리의 다른 글
JavaScript의 기본 Error 객체 (0) | 2024.08.05 |
---|---|
JavaScript의 Number 표현범위 (Java의 int를 곁들인…) (0) | 2024.07.18 |
인프런 강의 안봤는데 봤어요 스크립트 (3) | 2024.06.28 |
타입스크립트 심볼 타입 (Symbols) (0) | 2024.03.14 |
[TypeScript] 이펙티브 타입스크립트- 6장 타입 선언과 @types (0) | 2023.03.13 |