我找到一个示例来解释Typescript中的类型保护,但是 我不明白,为什么此代码有效:
function add(
arg1:string|number,
arg2:string|number
):any{
if (typeof arg1==="string"){
console.log("string")
return arg1+arg2;
}
if (typeof arg1==="number" && typeof arg2==="number"){
console.log("number")
return arg1+arg2;
}
return arg1.toString()+arg2.toString()
}
console.log (add(1,2));
为何不起作用,如果您更改第二个字符,就像这样:
if (typeof arg1==="number" ){...
没有条件且不起作用 即使此功能有效:
function add2():any{
return (2+"3")
}
console.log(add2())
那么为什么我必须把条件放在和中?否则给出错误?