首页 > 解决方案 > 在 TypeScript 中,我如何判断接口是否为空或未实现?

问题描述

我有以下代码:

 @HostListener('drop', ['$event'])
  onDrop(event: DragEvent): void {
    event.preventDefault();
    const textData: string = event.dataTransfer.getData('text').replace(/\D/g, '');
    this.inputElement.focus();
    document.execCommand('insertText', false, textData);
  }
}

TSLint 告诉我在对 , 的调用中event.dataTransfer可能event为空。好吧,够公平的。

如何判断代码中是否event为空,以便我可以在代码周围设置防护?

更具体地说,我如何判断接口是否为空或未实现?

更新

这是 linter 告诉我的确切照片:

在此处输入图像描述

标签: typescriptinterfacenull

解决方案


那是一个 TS 编译错误,可能dataTransfer是一个错误。您应该首先检查是否不为空:nullgetData()dataTransfer

if (event.dataTransfer) {
    event.dataTransfer.getData('text').replace(/\D/g, '');
}

推荐阅读