• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

typeorm, tsconfig 질문드립니다.

22.02.15 18:01 작성 조회수 236

0

typeorm에서 entity 작성시 tsconfig의 strict의 옵션을 true로 하니 아래와 같은 에러가 발생하는데, typeorm사용시에는 strict옵션을 false로 하는게 맞을까요?

Property 'id' has no initializer and is not definitely assigned in the constructor.

 

 

 

 

답변 1

답변을 작성해보세요.

1

아뇨 true로 유지하셔야 합니다. 어떤 코드에서 해당 에러가 발생하나요?

쿠마스님의 프로필

쿠마스

질문자

2022.02.15

nest cli로 프로젝트 생성하니 tsconfig에 strict부분이 설정이 되어 있지 않고 

"strictNullChecks": false,  

"strictBindCallApply": false,

 

두개 항목이 false로 되어 있더라구요, 예전에 타입스크립트 강좌에서 들엇을때는 strict을 true로 설정해서 엄격하게 체크하는게 좋다고하셔서 그렇게하고 typeorm entity 생성하려고하니 오류가 발생합니다.

@PrimaryGeneratedColumn({ type: 'int', name: 'id' })

  id: number;

타입에 undefined 을 추가해주거나 id! 또는 id? 을 지정해주면 넘어게가 되는데 tsconfig 부분을 수정하는게 나을까요 아니면 변수별로 전부 !을 입력해주는게 좋을까요?

 

 

 

Hola

해당 에러를 발생시키는 항목은 strictPropertyInitialization입니다. 이걸 false로 하면 에러는 안 나실 겁니다.

!를 붙이면 무조건 그 값이 있다는 뜻이 되어버리는데요. 실제로는 DB 조회하면서 그 컬럼을 빼고 가져올 수도 있습니다. ?랑 섞어서 쓰시는 게 좋습니다.

 

쿠마스님의 프로필

쿠마스

질문자

2022.02.16

아하 넵 감사합니다!