TypeScript: Object is possibly 'null'

文章目录

    TypeScript 最恶心的地方在于让写 js 完全丧失了灵活性。今天发现之前写的 antd 代码里一堆 TypeScript 报错信息,虽然代码能正常编译运行。

    报错代码为第二行:

    function slugHandler() {
        console.log(formRef.current.getFieldValue("Title"));
    }
    

    报错信息为:

    Object is possibly ‘null’

    解决方法非常类似 Kotlin 的语法糖。

    方法一:non-null assertion operator !

    formRef.current!.getFieldValue("Title")
    

    打包票 current 肯定不会是 null。

    方法二:optional chaining

    formRef.current?.getFieldValue("Title")
    

    如果 current 为 null,则停止执行后面的逻辑,返回 null。

    参考

    https://stackoverflow.com/questions/40349987/how-to-suppress-error-ts2533-object-is-possibly-null-or-undefined

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式