Seriously?

Copie d'écran du code javascript avec les indicateurs d'erreur fournis par LSP-Typescript

LSP-Typescript, une fois activé, raconte un peu portnawak, je trouve, pas vous ?

/*global dotclear */
'use strict';

dotclear.ready(() => {
  // DOM ready and content loaded

  // Give focus to user field
  const uid = document.querySelector('input[name=user_id]');
  if (uid) uid.focus();

  const ckh = document.getElementById('cookie_help');
  if (ckh) ckh.style.display = navigator.cookieEnabled ? 'none' : '';

  const upw = document.querySelector('input[name=user_pwd]');
  if (!upw) {
    return;
  }

  // Add an event listener to capture CR key press in user field to give to password field if it is empty
  uid.addEventListener('keypress', (event) => {
    if (event.which == 13 && upw.value == '') {
      // Password is empty, give focus to it
      upw.focus();
      // Stop handling of this event (CR keypress)
      event.preventDefault();
    }
  });
});

Ligne 9, il m’annonce que la méthode focus() n’est pas connue pour le type Element (HTML) retourné par la méthode document.querySelector(), oui oui.
Et puis aussi que la propriété which n’est pas non plus connue pour le type Event fourni en paramètre de la fonction de rappel de la méthode addEventListener(), ben voyons. Par contre il me dit pas que cette propriété est deprecated !?!

Je sais pas ce qu’ils ont fumé, mais c’est de la bonne !

Ou alors c’est moi qui me plante et j’aimerais très beaucoup qu’on m’explique pourquoi !


Alors effectivement c’est moi qui me plante vu que LSP-Typescript infère les types des variables parfois pas tout à fait de la façon que je souhaite. Il faut donc que je documente les types de variable (JSDoc) et que je corrige mon code le cas échéant.

PS : Je sais qu’il y a des trucs à compléter dans le code ci-dessus, c’est pas encore ceinture/bretelles, mais la question n’est pas là.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/16020

Haut de page