24.05.30 22:10 작성
·
117
0
안녕하세요. UserModel 엔티티 작성할 때, 아래와 같이 타입을 엉뚱하게 적어도 컬럼 값의 타입이 제대로 들어가는 문제로 질문드립니다.
https://orkhan.gitbook.io/typeorm/docs/entities#primary-columns
해당 Docs를 보니 어노테이션에 타입이 정해져 있어 그런거 같은데, 아래 코드가 타입 오류가 안나는게 맞는건가요?
@PrimaryGeneratedColumn()
id: string;
@Column()
@Generated('uuid')
additionalId: number;
답변 1
1
2024. 05. 31. 09:26
안녕하세요!
primaryGeneratedColumn은 number 타입이어야하는데 string 타입으로 인식시켜도 에러가 안나는게 맞냐는 말씀이실까요?
typescript가 어떤 역할을 하는지 이해를 하셔야합니다.
typescript는 빌드타임 체크 툴이지 런타임 체크 툴이 아닙니다.
더군다나 PrimaryGeneratedColumn은 build 타임 타입 체킹 기능이 없습니다.
그러니 string 타입을 입력하더라도 에러가 나지 않습니다.
uuid도 마찬가지입니다.
제 TS 강의에서 Reflection 섹션을 복습해보시면 쉽게 이해 할 수 있습니다.
감사합니다!