클래스 관련 질문 드립니다
한입 크기로 잘라먹는 타입스크립트 강의에서 Section 7의 36번 강의에서 이 아래의 코드가 나오는데 Student 클래스의 생성자 부분에서 'name' 매개변수에는 암식적으로 'any' 형식이 포함됩니다.라고 에러가 뜨고 name 뿐만아니라 grade, age 도 똑같은 에러가 뜨는데 혹시 원인이 뭔지 알 수 있을까요? 강사님과 똑같은 코드를 쳤는데 오류가 나와서 어디가 문제인지 모르겠습니다...
class Student {
// 필드
name;
grade;
age;
// 생성자
constructor(name, grade, age) {
this.name = name;
this.grade = grade;
this.age = age;
}
// 메서드
study() {
console.log("열심히 공부 함");
}
introduce() {
console.log(`안녕하세요!`);
}
}
답변 2
1
안녕하세요 이정환입니다.
이 문제는 질문자님께서 실습 파일을 현재 "TS" 파일로 만드셔서 그렇습니다. 해당 챕터에서는 자바스크립트의 클래스를 소개하기 위해 "JS" 파일을 만들어 실습하고 있으니 파일의 확장명을 TS -> JS로 바꿔 타입 검사가 이루어지지 않도록 하시면 문제가 해결됩니다.
1
안녕하세요, 인프런 AI 인턴입니다. 이지현님.
타입스크립트에서 매개변수의 any 타입은 일반적으로 strict 모드 또는 noImplicitAny 옵션이 활성화되어 있을 때 발생하는 문제입니다. 이 옵션들이 활성화되면, 타입스크립트는 타입 추론이 불가능한 경우 경고를 표시하며 any로 추론하게 됩니다.
지금의 오류는 매개변수 name, grade, age에 명시적으로 타입을 지정하지 않아 발생한 것입니다. 이러한 문제를 해결하기 위해서는 각 매개변수에 타입을 명시해주면 됩니다. 예를 들어, string 타입처럼 우선적인 타입을 지정해주시면 에러가 사라질 것입니다.
class Student {
// 필드
name: string;
grade: string; // 또는 number, 타입에 맞게 변경하세요.
age: number;
// 생성자
constructor(name: string, grade: string, age: number) { // 여기에 타입을 명시합니다.
this.name = name;
this.grade = grade;
this.age = age;
}
// 메서드
study() {
console.log("열심히 공부 함");
}
introduce() {
console.log(`안녕하세요!`);
}
}
이 수정된 코드에서는 name과 grade는 string, age는 number로 명시되어 각 필드와 매개변수가 구체적임을 명시하므로 타입스크립트 컴파일러가 더 정확히 타입을 추론할 수 있게 됩니다.
관련 자료를 더 보고 싶으시다면 이곳을 참고하시면 기본 타입 정의에 대해 더 깊이 이해하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>
0
22
2
outDir 옵션 추가 후 컴파일 오류 질문
0
58
1
호출 시그니처 질문
0
64
2
서로소 유니언 타입이 discriminated union과 동의어 인가요?
0
74
2
조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제
0
65
1
할인쿠폰 관련하여
0
154
2
프론트엔드에서의 인터페이스활용
0
92
2
안녕하세요 이정환님!
0
90
1
Node.js 설치에 관한 질문입니다.
0
79
2
함수 타입 호출 시그니처
0
56
1
35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?
0
63
2
인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?
0
115
4
마우스 호버 시 정보
0
91
2
vite으로 리액트 빌드하기를 업데이트해주세요.
1
89
2
타입가드를 만들어 사용하는 이유가 궁금합니다.
0
82
2
섹션 12가 너무 어려운데... 정상이겠죠..?
0
136
2
선생님.. 알고리즘도 강의해주시면안되나요
0
100
2
선생님은 어떻게 이런걸 아세요?
0
128
1
type: module
0
97
2
7:17초 업캐스팅 질문이있습니다!
0
75
1
슈퍼타입질문
1
62
2
프로젝트 설치
0
103
2
enum은 비원시 타입이면서 열거형 타입이 되는건가요?
0
68
2
함수는 함수타입? 객체타입??
1
94
2





