"Ne peut pas créer une variable en double qui illumine une propriété globale"

Obtenir cette erreur sur Safari 10

Il se produit quand un const reçoit un nom qui est exactement le même qu'un id de n'importe quel élément de la page.

 const abc = document.querySelector("#abc"); //err const abz = document.querySelector("#abc"); //no err var abc = document.querySelector("#abc"); //no err 

Y a-t-il une raison à cela?
Je sais que vous pouvez accéder aux éléments via window.abc, est-ce que c'est la partie de la raison?

Tester:

 <!doctype html> <html><body> <div id="alpha"></div> <script> const alpha = document.querySelector('#alpha'); console.log(alpha); </script> </body></html> 

C'est apparemment un problème que Safari a déclaré en déclarant une variable let / const qui partage le même nom qu'un attribut id sélectionné. J'ai eu certaines variables déclarées avec const comme vous l'avez fait et obtenez la même erreur. Changé pour laisser et l'avoir encore. Changé à var et cela a fonctionné.

Cela doit être lié à ce bug Web

En attendant, vous pouvez soit remplacer const par var , soit modifier le nom de votre variable (par exemple: _alpha ).