Peut constantes globales être déclaré en JavaScript?
Si oui, quelle est la syntaxe pour une telle déclaration?
- si par mondial-vous dire une variable qui peut être appelé après le changement sur les pages du domaine puis ce que vous avez besoin est de cookies..
- Non, juste, globale entre les fonctions. Aussi, c'est une constante, pas une variable, par conséquent, les cookies peut-être exagéré.
- Voir aussi: stackoverflow.com/questions/130396/...
Vous devez vous connecter pour publier un commentaire.
Javascript n'a pas vraiment la notion d'une constante nommée, ou immuable propriété d'un objet. (Notez que je ne parle pas de l'ES5 ici.)
Vous pouvez déclarer des variables globales avec un simple
var
déclaration dans le contexte global, comme à l'extérieur de toute fonction dans un script fourni par une page web:Puis votre code peut utiliser cette constante, bien sûr, si ce n'est pas vraiment "constante", car la valeur peut être modifiée (la propriété mise à jour, en d'autres termes).
if(DEBUG){const HOST = "locahost";} else { const HOST = "coolhost";}
ne sont pas exposerHOST
à l'échelle mondiale.Comme "Pointues" si soigneusement des notes, ECMAscript n'a pas cette fonctionnalité. Cependant, Le JavaScript n':
Bien sûr, si vous écrivez du code pour le mettre sur le web pour s'exécuter dans un navigateur web, cela ne vous aide pas beaucoup. 🙂
const
- sur le mode strict code. Firefox 4 pour le moment n'a pas de restrictions sur la non-standard des déclarations en vertu de mode strict, mais par WebKit JavaScriptCore a -très bonne chose IMO, vous ne pouvez pas utiliserconst
ou ontFunctionDeclarations
à l'intérieur deBlocks
... juste pour garder à l'esprit..Tout est global, à moins déclarée avec le
var
mot-clé.Il n'existe pas de constantes soit. Vous pouvez simplement déclarer sans
var
mot-clé.Si vous voulez vous assurer une portée mondiale, vous pouvez le jeter dans le
window
objet:Vous pouvez le faire à partir de n'importe quelle envergure. Les constantes peuvent ensuite être déclarée à l'intérieur des fonctions ou des fermetures, bien que je ne recommande pas que.
global
au lieu dewindow
),new Function("return this")()
, etglobalThis
Vous pourriez le faire avec des getters et setters comme suit:
Si vous voulez une fonction générale pour ce faire:
global
au lieu dewindow
),new Function("return this")()
, etglobalThis
.Si vous voulez vous assurer que la valeur ne peut pas changer l'utilisation d'une fonction.
Donc, au lieu de:
utilisation:
Si vous ne se soucient que de soutenir les navigateurs les plus récents (ou à l'aide d'un transpiler tels que Babel pour soutenir les anciens navigateurs) vous pouvez effectuer les opérations suivantes:
C'est beaucoup plus propre approche que d'essayer de mettre en œuvre une constante globale, en particulier lorsque vous avez plusieurs fichiers JavaScript que vous souhaitez utiliser les constantes dans.
La réponse directe à la question est Non. Il serait vraiment aider à bien si l'ECMA/JS fait un moyen facile de faire de la programmation fonctionnelle. Une pratique hack-je utiliser pour contourner ce problème consiste à déclarer const dans la portée globale et l'utilisation d'une fonction wrapper voir l'exemple ci-dessous:
🙂
🙂
Le chemin du retour lorsque la programmation orientée objet est l'exagération d'un enfant de ma classe a dit à la C instructeur que C n'est pas orienté objet pour lequel l'instructeur a dit qu'il a fait de la programmation orientée objet en C avant de Java et C++ ont été conçues. De même, vous pouvez faire de la programmation fonctionnelle en Javascript, mais il est beaucoup plus difficile. Ses comme faire de la programmation orientée Objet en C, quand il est plus facile de le faire en C++.
Pour l'enregistrement.
Donc, si la constante est définie à l'intérieur de {} alors il est local, sinon, il est mondial.