Maison > interface Web > js tutoriel > Analyse de l'utilisation de la déstructuration d'objets JavaScript (exemples détaillés)

Analyse de l'utilisation de la déstructuration d'objets JavaScript (exemples détaillés)

WBOY
Libérer: 2022-02-05 07:00:35
avant
3393 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur l'analyse de l'utilisation de la déstructuration d'objets en JavaScript. J'espère qu'il vous sera utile.

Analyse de l'utilisation de la déstructuration d'objets JavaScript (exemples détaillés)

La version ES6 (ES2015) fournit à JavaScript un moyen plus pratique et plus rapide de gérer les propriétés des objets. Ce mécanisme est appelé Déstructuration (également appelé affectation de déstructuration). Mais l’utiliserez-vous vraiment ? Comprenez-vous vraiment l’utilisation de la mission de déstructuration dans divers scénarios ?

Obtenir les valeurs des objets à l'aide de la déstructuration

L'utilisation la plus basique de la déstructuration d'objets consiste à récupérer la valeur d'une clé de propriété à partir d'un objet.

Par exemple, nous définissons un objet avec deux propriétés : nom et âge

const User = {
  name: '搞前端的半夏',
  age: 18
}
Copier après la connexion
Copier après la connexion

Traditionnellement, nous utiliserions la notation par point (.) ou la notation en indice ([]) pour récupérer les valeurs d'un objet. L'extrait de code suivant montre un exemple de récupération d'une valeur d'un objet à l'aide de la notation par points pour récupérer l'identifiant et le nom de la valeur de l'objet. employé

Avant de vouloir obtenir la valeur d'un certain attribut dans l'objet, nous utilisions généralement ou [].

const name = User['name'];
const age = User.age;
Copier après la connexion

Bien sûr, ces deux méthodes ne posent aucun problème dans la situation actuelle, mais lorsqu'il y a trop d'attributs utilisateur, nous devons constamment copier et coller, ce qui entraîne beaucoup de code répété.

Avec l'affectation de structure, nous pouvons rapidement obtenir la valeur. Par exemple, nous créons une variable en utilisant le nom de clé de l'objet et attribuons la valeur de l'objet à la même clé. De cette façon, quel que soit le nombre d'attributs, il suffit d'attribuer le nom de l'attribut, ce qui réduit également beaucoup de code répété.

const { name, age } = User;
Copier après la connexion

Utilisez la déstructuration pour obtenir les valeurs des objets imbriqués

Dans l'exemple ci-dessus, l'utilisateur n'est qu'un simple objet monocouche. Nous rencontrerons également des objets imbriqués dans le développement quotidien, utilisez donc l'affectation de structure, comment pouvons-nous récupérer le. valeur dans l’objet imbriqué. Ensuite, nous redéfinissons l'objet Utilisateur et ajoutons un attribut de contact à cet objet, qui contient le téléphone de l'utilisateur. .

const User = {
  name: '搞前端的半夏',
  age: '18',
  contact:{
    phone:'110',
  }
}
Copier après la connexion

Si on utilise . pour faire des allers-retours jusqu'à la valeur de phone, cela prendra deux fois

const phone = User.contact.phone;
Copier après la connexion

Si on utilise l'affectation déstructurante : l'écriture est la suivante :

const  {contact:{phone}}=User
consosle.log(phone)  // 输出10.
Copier après la connexion

Peu importe le nombre de niveaux d'imbrication, tant que vous suivez cette écriture, elle obtiendra certainement la valeur spécifique.

Utilisez la déstructuration d'objet pour définir une nouvelle variable et une valeur par défaut

Valeur par défaut

Bien sûr, dans le processus de développement quotidien, nous pouvons rencontrer de nombreuses situations extrêmes,

Par exemple, l'objet transmis depuis le backend peut être manquant quelque chose Certains champs

const User = {
  name: '搞前端的半夏',
}
Copier après la connexion

ou attributs n'ont pas de valeurs spécifiques :

const User = {
  name: '搞前端的半夏',
  age: ''
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Lorsque nous utilisons l'affectation déstructurante : la variable age sera créée indépendamment du fait que l'attribut age existe ou non.

const { name, age } = employee;
Copier après la connexion

Lorsque User.age n'a pas de valeur spécifique, nous pouvons utiliser

const { name, age=18 } = employee;
Copier après la connexion

pour donner à age une valeur par défaut.

Nouvelle variable

Attendez, attendez. Il y a encore plus de magie à découvrir dans la section déconstruction ! Comment créer une toute nouvelle variable et attribuer une valeur calculée à partir de la valeur de la propriété de l'objet ? Cela semble compliqué? Ceci est un exemple.

Que devons-nous faire lorsque nous voulons afficher la valeur combinée de l'attribut Utilisateur ?

const { name,age,detail = `${name} 今年 ${age} `} = User ;
console.log(detail); // 输出:搞前端的半夏 今年 18
Copier après la connexion

Utilisation d'alias de déstructuration d'objets JavaScript

Dans la déstructuration d'objets JavaScript, vous pouvez nommer l'alias de la variable de déstructuration. Très pratique pour réduire les risques de conflits de noms de variables.

const User = {
  name: '搞前端的半夏',
  age: ''
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supposons que nous voulions utiliser l'affectation de déstructuration pour obtenir la valeur de l'attribut age, mais que la variable age soit déjà dans le code, à ce stade, nous devons définir un alias dans la structure.

const { age: userAge } = User;
console.log(userAge); //搞前端的半夏
Copier après la connexion

Et si vous utilisez l'âge, une erreur sera signalée.

console.log(age);
Copier après la connexion

Gestion des propriétés de nom dynamiques à l'aide de la déstructuration d'objets

Nous traitons souvent les données de réponse de l'API en tant qu'objets JavaScript. Ces objets peuvent contenir des données dynamiques, de sorte qu'en tant que client, nous ne connaissons peut-être même pas les noms des clés de propriété à l'avance.

const User = {
  name: '搞前端的半夏',
  age: ''
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Lorsqu'on passe la clé en paramètre, on peut écrire une fonction qui renvoie la valeur de la propriété de l'objet User. Ici, nous utilisons [] pour accepter les paramètres, et js les récupérera de l'objet en fonction de cette paire de clés !

function getPropertyValue(key) {
    const { [key]: returnValue } = User;   
    return returnValue;
}
Copier après la connexion
const contact = getPropertyValue('contact');
const name = getPropertyValue('name');
console.log(contact, name); // 空  搞前端的半夏
Copier après la connexion

Déstructuration d'objets dans les paramètres de fonction et valeurs de retour

Affectation de déstructuration et transmission de paramètres

Utilisez la déstructuration d'objets pour transmettre des valeurs d'attribut en tant que paramètres aux fonctions.

const User = {
  name: '搞前端的半夏',
  age: 18
}
Copier après la connexion
Copier après la connexion

name Créons maintenant une fonction simple qui crée un service de messages en utilisant les valeurs d'attribut et pour vous connecter à la console du navigateur.

function consoleLogUser({name, age}) {
  console.log(`${name} 今年 ${age}`); 
}
Copier après la connexion

Transmettez les valeurs directement comme arguments de fonction et utilisez-les en interne.

consoleLogUser(User); // 搞前端的半夏 今年 18
Copier après la connexion

Valeur de retour de l'objet Destructor

Il existe une autre utilisation du destructeur d'objet. Si la fonction renvoie un objet, vous pouvez déstructurer la valeur directement en variable. Créons une fonction qui renvoie un objet.

function getUser() {
  return {
    'name': '搞前端的半夏',
    'age': 18
  }
}
Copier après la connexion
const { age } = getUser();
console.log(age); // 18
Copier après la connexion

Utiliser la déstructuration d'objets dans les boucles

La dernière (mais non la moindre) utilisation dont nous discuterons est la déstructuration de boucles. Considérons un ensemble d'objets employés. Nous voulons parcourir le tableau et utiliser les valeurs de propriété de chaque objet employé.

const User= [
  { 
       'name': '爱分享的半夏',
    'age': 16
  },
  { 
      'name': '搞前端的半夏',
    'age': 18
  },
  { 
        'name': '敲代码的半夏',
    'age': 20
  }
];
Copier après la connexion

Vous pouvez utiliser une boucle for-of pour parcourir l'objet User, puis utiliser la syntaxe d'affectation de déstructuration d'objet pour récupérer les détails.

for(let {name, age} of employees) {
  console.log(`${name} 今年${age}岁!!!`);
}
Copier après la connexion

Analyse de lutilisation de la déstructuration dobjets JavaScript (exemples détaillés)

Recommandations associées : Tutoriel d'apprentissage Javascript

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!

Étiquettes associées:
source:juejin.im
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal