0
나는 다음과 같은 명시 적 경로가 :타이프 라이터 + 익스프레스 : req.params
app.get('/:id', function (req, res) {
var idNum: number = Number(req.params.id);
var idCast: number = +req.params.id;
var id: number = req.params.id;
console.log('typeof idNum ', typeof idNum , ' ', 'idNum== 0 : ', idNum== 0 , ' ', 'idNum=== 0 : ', idNum=== 0);
console.log('typeof idCast', typeof idCast, ' ', 'idCast == 0 :', idCast == 0, ' ', 'idCast === 0 :', idCast === 0);
console.log('typeof id ', typeof id , ' ', 'id == 0 : ', id == 0 , ' ', 'id === 0 :' , id === 0);
res.json({});
});
이 반환
typeof idNum number idNum== 0 : true idNum=== 0 : true
typeof idCast number idCast == 0 : true idCast === 0 : true
typeof id string id == 0 : true id === 0 : false
내가 그 타이프 제공에만 컴파일 타임 유형 검사를 이해하고 내 생각을 req.params가 인수를 문자열로 제공한다는 사실을 모르는 것입니다.
Number에 매개 변수를 자동으로 캐스팅 할 수있는 방법이 있습니까? 또는 적어도 내가 수동으로하지 않은 오류를 제기? 그렇지 않으면, 전체 타이프 스크립트 환경에서 사용되지 않는 한 tympescript는 쓸모없는 것처럼 보인다.
마지막으로, 원본을 읽을 수있는 ExpressJS와 함께 TypeScript를 사용하는 "큰"오픈 소스 프로젝트가 있습니까?
답 해줘서 고맙지 만 그렇게하는 것이 더러운 것처럼 보입니다./ – IggY
나는 그 일을하는 "자동"방법을 찾을 수 있을지 의심 스럽습니다. 미들웨어 기능은이 경우와 같습니다. –