TypeSctipt 를 공부하던 중 , 다음과 같은 오류가 발생하였다.
속성 'x'은(는) 이니셜라이저가 없고 생성자에 할당되어 있지 않습니다.
강의의 코드를 똑같이 따라해도 내 파일에서만 오류가 떴다.
TypeScript 에서 설정의 문제였다.
해결:
tsconfig.json 에서 다음과 같이
"strictPropertyInitialization": false 를 추가해주었더니 해결되었다.
strictPropertyInitialization 의미
정의되지 않은 클래스의 속성이 생성자에서 초기화되었는지 확인한다.
예를 들어 UserAccount 클래스의 constructor에서는 name 프로퍼티만 초기화해주고 email 프로퍼티는 선언만 하였는데, 이때 너무 강하게 타입 체킹 하는 느낌이 든다면, 이 옵션을 false로 줘서 빨간줄을 해결할 수 있다.
tsconfig를 수정하는게 마음에 안들면, non-null 단언 연산자를 이용해도 해결 할수 있다.
TYPESCRIPT
email!: string; // 어디선가 할당될 것이므로 에러를 무시하라는 의미
'Type Script' 카테고리의 다른 글
[TypeScript] 'Window & typeof globalThis' 형식에 'Kakao' 속성이 없습니다. (0) | 2023.04.14 |
---|---|
[TypeScript] 이미지 절대 경로 import 오류 (0) | 2023.04.14 |
[TS] tsconfig.json + tsconfig.path.json 파일 합치기 (0) | 2023.03.08 |
[TS] react 기본 설정 type(JSX.Element-컴포넌트,props/state) (0) | 2023.03.08 |
[TS] src 경로 오류 해결(tsconfig.json) (0) | 2023.03.07 |