检查参数是否属于Typescript中的类型

时间:2018-04-18 05:06:00

标签: typescript typechecking

如何检查某个参数是否属于我在TypeScript中定义的类型? 例如:

type myType = {n:number}
let par = {n:3}

我想检查x是否属于mtType类型。如果我使用typeof par,则返回的值为字符串"object"。感谢。

1 个答案:

答案 0 :(得分:1)

请点击此处的type guards部分。可以使用以下语法:

function isMyType(arg: any): arg is myType {
    // you can replace the following expression with the logic 
    // that clearly defines that if an object can be myType
    return arg.n !== undefined && arg.n === parseInt(arg.n);
}

以及稍后的代码

if (isMyType(objectToCheck)){
   // do something with the object as myType
}