我有一个像这样的功能模板:
function (..., args: any) {...}
我有一个叫做
CreateLobbyParameter
的类:export class CreateLobbyParameter {
userId: number;
gameMode: GameMode;
}
如果给定了
any
,则键入的args参数与CreateLobbyParameter
相似(例如{userId: 0, gameMode: 0}
,但与{userId:0}
相似);我想处理这种情况。我尝试过
typeof(arg as CreateLobbyParameter)
,但是它为参数"object"
而不是{userId: 0, gameMode: 0}
返回字符串CreateLobbyParameter.
同样,
arg instanceof CreateLobbyParameter
返回false。 最佳答案
像JavaScript一样对待它。
var userId = arg.userId;
var gameMode = arg.gameMode;
if (userId && gameMode) {
var myCreateLobbyParameter = new CreateLobbyParameter {
userId = userId,
gameMode = gameMode
}
}
然后,您将拥有一个真正的
CreateLobbyParameter
对象,或者您可以对不符合标准的参数进行任何处理。