如何告诉 JetBrains IDE 这个 javascript 变量的类型更改为另一个?

How to tell to JetBrains IDE that this javascript variable changed type to another?

Web API 有 Element interface which extends Node 界面。 如何告诉 JetBrains IDE 这个特定的节点是元素?

希望下面的代码能说明一切。

/**
* @param {Node} node 
* @return {string}
*/
function extractor(node) {
   let text;
   if (node.nodeType === Node.ELEMENT_NODE) {
       // On the next line IDE shows a warning,
       // that innerHTML property is not defined for Node.
       // How to tell IDE that node variable became and Element here?
       text = node.innerHTML;
   } else {
       text = node.textContent;
   }
   return text;
}

我正在使用 PyCharm Professional,但我认为这不重要。

你不能。

如果您愿意,可以改用 Typescript。

text = (node as Element).innerHTML;

但是javascript里面没有严格类型,只能试试:

/**
* @param {Node | Element} node 
* @return {string}
*/