반응형
Typescript : TS7006 : 매개 변수 'xxx'에는 암시 적으로 'any'유형이 있습니다.
UserRouter를 테스트 할 때 json 파일을 사용하고 있습니다.
data.json
[
{
"id": 1,
"name": "Luke Cage",
"aliases": ["Carl Lucas", "Power Man", "Mr. Bulletproof", "Hero for Hire"],
"occupation": "bartender",
"gender": "male",
"height": {
"ft": 6,
"in": 3
},
"hair": "bald",
"eyes": "brown",
"powers": [
"strength",
"durability",
"healing"
]
},
{
...
}
]
내 앱을 빌드 할 때 다음 TS 오류가 발생합니다.
ERROR in ...../UserRouter.ts
(30,27): error TS7006: Parameter 'user' implicitly has an 'any' type.
UserRouter.ts
import {Router, Request, Response, NextFunction} from 'express';
const Users = require('../data');
export class UserRouter {
router: Router;
constructor() {
...
}
/**
* GET one User by id
*/
public getOne(req: Request, res: Response, _next: NextFunction) {
let query = parseInt(req.params.id);
/*[30]->*/let user = Users.find(user => user.id === query);
if (user) {
res.status(200)
.send({
message: 'Success',
status: res.status,
user
});
}
else {
res.status(404)
.send({
message: 'No User found with the given id.',
status: res.status
});
}
}
}
const userRouter = new UserRouter().router;
export default userRouter;
을 사용하고 --noImplicitAny
있으며 TypeScript는 Users
객체 유형에 대해 모릅니다 . 이 경우 user
유형 을 명시 적으로 정의해야 합니다.
이 줄을 변경하십시오.
let user = Users.find(user => user.id === query);
이를 위해 :
let user = Users.find((user: any) => user.id === query);
// use "any" or someother interface to type this argument
또는 Users
개체 유형을 정의 합니다.
//...
interface User {
id: number;
name: string;
aliases: string[];
occupation: string;
gender: string;
height: {ft: number; in: number;}
hair: string;
eyes: string;
powers: string[]
}
//...
const Users = <User[]>require('../data');
//...
당신의에서 tsconfig.json
파일 파라미터 설정 "noImplicitAny": false
에서 compilerOptions
이 오류를 제거 할 수 있습니다.
I encounted this error and found that it was because the "strict" parameter was set to true in the tsconfig.json file. Just set it "false" (obviously). In my case I had generated the tsconfig file from the cmd prompt and simply missed the "strict" parameter, which was located further down in the file.
반응형
'Development Tip' 카테고리의 다른 글
Git : 1. 브랜치의 모든 파일 나열, 2. 다른 브랜치의 파일 비교 (0) | 2020.10.09 |
---|---|
Swift 프로젝트에서 Objective-C CocoaPods를 사용하는 방법 (0) | 2020.10.09 |
임의의 유효 자릿수로 반올림 (0) | 2020.10.09 |
C에서 최고의 타이밍 방법? (0) | 2020.10.09 |
MySQL : 사용자가 있는지 확인하고 삭제하십시오. (0) | 2020.10.09 |