6 fonctions JavaScript que vous devriez connaître
Connecteur série optionnel?:
Fonction getage (person) {renvoie person? Details? Age;} Getage 35 obtenir ({}) \/ Non défini essentiellement, cet opérateur nous permet d’accéder à chaque propriété tant qu’elle n’est pas non définie ou nulle. Une fois qu’il détecte que nous avons essayé d’accéder aux propriétés d’un objet inexistant, il retourne non spécifié 2 opérateur de fusion nullish (?) En javascript, il est facile de définir les valeurs par défaut des variables en utilisant les opérateurs suivants: | |, n’est – ce pas? Faux. Nous l’avons tous fait, mais si vous n’êtes pas prudent, vous pourriez avoir des effets secondaires inattendus… Par exemple, supposons que nous ayons un sélecteur dans notre stockage Redux qui nous permet de récupérer les valeurs définies par l’utilisateur. Si l’utilisateur n’a pas spécifié de valeur (c’est – à – dire qu’elle n’est pas définie), nous utiliserons | | pour retourner la valeur par défaut:
Fonction getvalue (State) {renvoie state.value | | 5;} Maintenant, regardons quelques exemples et voyons ce que nous obtenons avec la fonction précédente après que l’utilisateur a défini une valeur ou une autre: \/ \/ no setvalue (X)… Getvalue () \/ 5 SetPoint (2); Getvalue () \/ 2 SetPoint (1); Getvalue () \/ 1 SetPoint (0); Getvalue () \/ 5 Opérations! Tout s’est bien passé jusqu’au dernier cas! De toute évidence, si l’utilisateur fixe la valeur à 0, le résultat de la fonction devient 5. Pourquoi? Cette logique est assez floue: x | y renvoie y si et seulement si X est une valeur ‘false’. Cela fonctionne généralement bien parce que undefined est une fausse valeur. Mais peut aussi être faux ou 0, par exemple.
En fait, nous voulons juste définir une valeur par défaut lorsqu’il n’y a pas de valeur par défaut. Ensuite, nous pouvons ajouter une protection pour vérifier la valeur: fonction getvalue (State) {if (undefined = = state.value) return 5; return state.value;} Si nous nous sentons imaginatifs, nous pouvons aussi l’écrire en utilisant l’opérateur ternaire: la fonction getvalue (State) {return undefined = = = state.va
Lue? 5: pays. Valeur;} Cependant, ni l’une ni l’autre solution ne complique inutilement le Code. Pour spécifier une valeur par défaut pour une variable, vous devez utiliser NULL Merge operator, Renvoie la partie droite si et seulement si la partie gauche est nulle ou non définie:
Fonction getvalue (State) {renvoie l’état. La valeur est 5;} E. sorpresa sorpresa!, Le résultat est exactement ce que nous voulons: \/ \/ pas de setvalue (X)… Getvalue () \/ 5 SetPoint (2); Getvalue () \/ 2 SetPoint (1); Getvalue () \/ 1 SetPoint (0); Getvalue () \/ Au fait, vous pouvez utiliser cet opérateur avec une tâche. Par exemple: valeur = valeur?? 5. égal à: valeur 5; # 3 l’engagement et l’engagement de fonctions asynchrones sont des mécanismes mis en œuvre en javascript qui nous permettent de simplifier le code source lors du traitement des opérations asynchrones, c’est – à – dire des opérations dont les résultats ne sont pas immédiatement disponibles. Par exemple, si nous voulons récupérer des données du serveur, il est clair que la réponse ne sera pas instantanée parce que nous devons attendre que le serveur reçoive la demande, traite la demande et retourne la réponse.
Dans les versions et bibliothèques JavaScript précédentes, comme jquery, nous l’avons implémenté avec des callbacks. L’idée est simple: définissez une fonction (Callback) avec la requête elle – même et appelez – la dès que la réponse est disponible. Ainsi, à la fin d’une opération asynchrone (c’est – à – dire la récupération des données du serveur), la Bibliothèque appellera la fonction et notre logique reprendra: jquery. Ajax ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/users\/1 , succès: (user) = > {console.log (user);},}; Si nous n’activons qu’une seule demande, cette solution sera très élégante et pratique. Mais une fois qu’on aura besoin d’exécuter plus de demandes, les choses vont mal tourner. Par exemple, si nous voulons demander deux utilisateurs différents, nous devrions
Idare I Callback:
Jquery. Ajax ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/v2\/users\/1 , succès: (user1) = > {jquery.ajax ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/v2\/users\/2 , succès: (user2) = > {console.log (user1, user2);},},});},}; L’engagement est la solution à ce problème: si un résultat n’est pas immédiatement disponible (par exemple, lorsque nous Récupérons un contenu du serveur), nous pouvons immédiatement retourner l’engagement JavaScript. Le projet est une enveloppe de valeur réelle qui représente un « engagement » pour lequel cette valeur sera disponible à l’avenir. Par exemple, si nous devions réécrire notre Premier fragment de code avec des promesses, cela ressemblerait à:
Const promise = WP. Apifetch ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/v2\/users\/1 ‘,}); Promis. Puis ((utilisateur) = > console. Journal (utilisateur); Comme vous pouvez le voir, WP. Apifetch doit récupérer l’utilisateur 1 du serveur, mais il fournit un résultat immédiat. Cependant, le résultat n’est pas l’utilisateur lui – même, mais un engagement qui sera résolu à l’utilisateur une fois la demande terminée. Par conséquent, tout ce que nous avons à faire est d’écrire un rappel qui sera traité lorsque la réponse promise sera résolue. Maintenant vous pourriez penser que ce n’est pas si difficile que ce qui s’est passé avant nous, n’est – ce pas? Après tout, nous utilisons toujours le rappel… Mais vous pouvez voir à quel point il est utile une fois que nous avons commencé à combiner plusieurs demandes:
Const promise1 = WP. Apifetch ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/v2\/users\/1 ‘,}); Const promise2 = WP. Apifetch ({URL: ‘ https:\/\/server.com\/wp-json\/wp\/v2\/users\/2 ‘,}); Promis. Tous ([Engagement 1, Engagement 2]). Puis ([user1, user2]) = > console. Log (user1, user2);); Avec promise, nous avons pu lancer deux requêtes parallèles pour récupérer les utilisateurs 1 et 2 et utiliser promise. Tout cela attend la solution de ces deux engagements. Il n’y a pas de Code italien qui contient des callbacks imbriqués. La beauté promise continue. Nous pouvons utiliser
L’utilisation de JavaScript et l’écriture de code asynchrone qui semble très synchrone nécessitent un peu de sucre syntaxique. Tout ce que vous avez à faire est de définir une fonction async en utilisant le mot – clé async, et les choses deviennent soudainement plus simples: la fonction asynchrone logtwoosers (id1, ID2) {Const user1 = wait wp.apifetch ({URL: ‘..’ + id1}); Const user2 = wait for WP. Apifetch ({URL: ‘..’ + ID2}); Console. Log (user1, user2);} Chaque fois qu’une opération asynchrone dans une fonction asynchrone est appelée, vous pouvez utiliser le mot – clé d’attente pour attendre son résultat. La seule chose que vous devez garder à l’esprit est que lorsque vous définissez une fonction asynchrone, son résultat sera toujours un engagement: la fonction asynchrone getnumerfive () {retourner 5;} Constante p = getnumerfive () \/ A promise P. then (console.log) \/ Lorsque vous imprimez la gamme de variables’ 5 ‘# 4 en utilisant let et Const, vous savez peut – être déjà que vous pouvez maintenant déclarer des variables en utilisant les mots clés let et Const. Première variable définie, deuxième constante définie: x = 1; Console. Logarithme (X) \/ 1 x = 2; Console. Logarithme (X) \/ 2 constante y = 1; Console. Logarithme (y) \/ 1 Y = 2 \/ \/ Erreur de type non saisie: attribution invalide à la console constante « y». Logarithme (y) \/ 1 vous pourriez penser que let et var sont la même chose parce que les deux mots clés nous permettent de déclarer un nombre très élevé de variables. Mais il y a une différence importante entre eux: leur portée. Pour let et Const, la plage d’une variable est le bloc qui la définit. Dans var, c’est toute la fonction. Fonction FN () Si (vrai) {var x = 1; let y = 2; const Z = 3;} Fin de la console if. Logarithme (X) \/ 1 console. Logarithme (y) \/ Erreur de référence non saisie: y n’est pas défini dans la console. Logarithme (z) \/ Erreur de référence non saisie: z} \ # 5 utilise json pour convertir les données non définies. Résoudre les fonctions json. Parse analyse les chaînes json et crée des objets JavaScript. Exemple: Const x = json. Résolution (\