Javascript 未提供HtmlScript元素的所有属性时出现Typescript错误

Javascript 未提供HtmlScript元素的所有属性时出现Typescript错误,javascript,typescript,types,Javascript,Typescript,Types,我正在将脚本附加到typescript文件中的页面 function getScript() { return new Promise((resolve, reject) => { const script: HTMLScriptElement = document.createElement('SCRIPT'); document.body.appendChild(script); script.onload = resolve; script.one

我正在将脚本附加到typescript文件中的页面

function getScript() {
  return new Promise((resolve, reject) => {
    const script: HTMLScriptElement = document.createElement('SCRIPT');
    document.body.appendChild(script);
    script.onload = resolve;
    script.onerror = reject;
    script.async = true;
    script.src = './scripts/my-script.js';
  });
}
Typescript给了我以下错误,这是我以前在
img
标记上遇到过的错误,除了错误表明我丢失了很多更多的属性

类型“HTMLElement”缺少类型“HTMLScriptElement”中的以下属性:异步、字符集、交叉源、延迟等8个属性。ts(2740)


我不想使用/指定脚本元素接口上的所有可用属性:我应该使用更通用的属性(什么?),还是完全忽略接口?或者有没有一种方法可以使用一个界面,这样我就可以让intellisense助手自动完成,如果界面上没有道具,就警告我,但是当我没有全部使用道具时就保持沉默?

SCRIPT
更改为
SCRIPT
,TypeScript就会意识到
createElement()
返回一个
HTMLScriptElement

感兴趣的各方可以参考TS标准库的类型声明,其中提到包含相关类型的脚本也可以自动推断类型,因此不需要设置
const foo:HTMLScriptElement=…