답은 @TomKunzemann과 @ GauravSrivastava의 답변입니다. declare
은 class
이어야합니다.
declare
을 사용하면 컴파일러에서 형식을 구현하지 않고 형식 및 동작에 대해 알려주므로 환경에 따라 Person
JavaScript에 포함됩니다.
그리고 class
으로, 여러분은 new
으로 인스턴스화하는 것과 같은 것을 TypeScript에 알려줍니다.
마지막으로 peter
을 any
유형으로 정의하고 싶지 않거나 TypeScript가 나중에 유형을 검사하지 않습니다. 그냥 : any
을두면, 타이프 라이터 형 Person
의 수 peter
을 추론하고 그러한 (예를 들어, lastName
대신 lastname
의) 오타 감지 등 원하는 형식 검사, 수행합니다
declare class Person {
name: string;
lastname: string;
age: number;
}
let peter = new Person(); // okay
console.log(peter.name); // okay
// note the typo below
console.log(peter.lastName); // error!
// "Property 'lastName' does not exist on type 'Person'. Did you mean 'lastname'"?
희망하는 데 도움이; 행운을 빕니다!
좋은 직업은 내가 찾고있는 것이고, 저는 궁금 해서요, 왜 Person() 함수를 선언합니다 : void; let peter : any = new Person() 이 작동하지 않습니다. – skizofre3e