所谓 is 关键字其实更多用在函数的返回值上,用来表示对于函数返回值的类型保护。

    1. // 函数的返回值类型中 通过类型谓词 is 来保护返回值的类型
    2. function isNumber(arg: any): arg is number {
    3. return typeof arg === 'number'
    4. }
    5. function getTypeByVal(val:any) {
    6. if (isNumber(val)) {
    7. // 此时由于isNumber函数返回值根据类型谓词的保护
    8. // 所以可以断定如果 isNumber 返回true 那么传入的参数 val 一定是 number 类型
    9. val.toFixed()
    10. }
    11. }