面试题答案
一键面试function processValue(value: string | number | any): number | null {
if (typeof value ==='string') {
return value.length;
} else if (typeof value === 'number') {
return value * value;
} else {
return null;
}
}
在上述代码中,typeof
用于进行类型保护。typeof value ==='string'
这一条件判断,只有当 value
确实为字符串类型时才会进入相应代码块,此时 value
在该代码块内的类型被“保护”为 string
,因此可以安全地访问 length
属性。同样,typeof value === 'number'
判断确保只有当 value
是数字类型时,才会执行计算平方的操作,在该代码块内 value
的类型被“保护”为 number
。对于其他不符合前面两种类型判断的情况,就返回 null
。