Maison > Article > interface Web > Le levage JavaScript démystifié : améliorez vos compétences en codage !
Hé là ? Parlons d'un concept JavaScript qui pourrait vous surprendre : le levage ! ?
Le levage concerne la façon dont JavaScript gère les variables et les déclarations de fonctions pendant la phase de compilation. Fondamentalement, il les déplace vers le haut de leur portée, avant même que le code ne soit exécuté. Attends, quoi !
Alors, qu’est-ce que cela signifie en pratique ?
Eh bien, disons que vous avez ce code :
`console.log(myVar); var myVar = "Hello, world!"; // It outputs: `undefined`
Même si vous essayez de consigner myVar avant qu'elle ne soit déclarée, le code s'exécute toujours sans aucune erreur. En effet, lors de la phase de création de mémoire, myVar se voit attribuer une valeur par défaut indéfinie. (Vous pouvez vous référer à mon dernier article dans lequel j'ai écrit sur le fonctionnement de JavaScript.)
Prenons un autre exemple :
monFun();
function myFun() { console.log("Je suis FuN"); >
Dans ce cas, toute la fonction sera stockée en mémoire. Si vous le consolez ( console.log(myFun) ), vous verrez que la fonction entière s'imprimera ou s'exécutera, et elle affichera Je suis FuN.
Plutôt cool, non ? Le levage peut avoir des implications intéressantes pour votre code, il est donc important de comprendre comment cela fonctionne. ? Faites-moi savoir si vous avez d'autres concepts JavaScript dont vous aimeriez discuter !
Et enfin, qu'en est-il des fonctions fléchées ? ???
Il est également traité comme une variable, stockez-y toute la fonction. Lorsque vous essayez d'appeler comme myFun() avant la déclaration, vous rencontrerez une erreur.
Voici un exemple :
`console.log("Before declaration myArrowFun: ", myArrowFun) var myArrowFun = () => { console.log("I am Arrow FuN"); } console.log("After declaration myArrowFun: ", myArrowFun) console.log("Call declaration myArrowFun: ", myArrowFun())`
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!