JSDoc: тип элемента узла в аргументе функции

#javascript

#javascript

Вопрос:

У меня есть функция, которая проверяет, является ли элемент допустимым элементом HTML.

 export function isValid(element) {
  return element.toString() !== "[object HTMLUnknownElement]";
}
  

Я хочу прокомментировать эту функцию, но я не знаю, какой тип данных я должен использовать для параметра. Это элемент узла.

 /**
* @param {Object} element - Node element that is being checked
* @returns {Boolean}      - Returns "true" for valid element and "false" for unknown HTML element.
*/
export function isValid(element) {
  return element.toString() !== "[object HTMLUnknownElement]";
}
  

Является ли параметр объектом или это что-то другое @param {NodeElement} ?

Я проверил https://jsdoc.app/tags-param.html но не могу найти ответ на него.

Комментарии:

1. Это должно быть HTMLElement . Все элементы наследуются от этого типа, включая HTMLUnknownElement

2. @HaoWu спасибо, я думаю, это то, что я ищу

3. @HaoWu Я думаю, вы должны опубликовать это в качестве ответа. Я собирался сказать то же самое

4. @SebastianKaczmarek Вы правы, позвольте мне опубликовать это в качестве ответа.

Ответ №1:

Это должно быть HTMLElement . Все элементы HTML наследуются от этого типа, включая HTMLUnknownElement

Кроме того, при проверке вы могли бы использовать

 export function isValid(element) {
  return !(element instanceof HTMLUnknownElement);
}
  

В случае, если toString функция этого элемента была перезаписана.