React ES6 Déstructuration


Déstructuration

Pour illustrer la déstructuration, nous allons faire un sandwich. Vous sortez tout du réfrigérateur pour faire votre sandwich ? Non, vous ne sortez que les éléments que vous souhaitez utiliser sur votre sandwich.

La déstructuration est exactement la même. Nous pouvons avoir un tableau ou un objet avec lequel nous travaillons, mais nous n'avons besoin que de certains des éléments qu'ils contiennent.

La déstructuration permet d'extraire facilement uniquement ce qui est nécessaire.


Destruction de tableaux

Voici l'ancienne façon d'affecter des éléments de tableau à une variable :

Avant de:

const vehicles = ['mustang', 'f-150', 'expedition'];

// old way
const car = vehicles[0];
const truck = vehicles[1];
const suv = vehicles[2];

Voici la nouvelle façon d'assigner des éléments de tableau à une variable :

Avec déstructuration :

const vehicles = ['mustang', 'f-150', 'expedition'];

const [car, truck, suv] = vehicles;

Lors de la déstructuration de tableaux, l'ordre dans lequel les variables sont déclarées est important.

Si nous ne voulons que la voiture et le suv, nous pouvons simplement omettre le camion mais garder la virgule :

const vehicles = ['mustang', 'f-150', 'expedition'];

const [car,, suv] = vehicles;

La déstructuration est pratique lorsqu'une fonction renvoie un tableau :

Exemple

function calculate(a, b) {
  const add = a + b;
  const subtract = a - b;
  const multiply = a * b;
  const divide = a / b;

  return [add, subtract, multiply, divide];
}

const [add, subtract, multiply, divide] = calculate(4, 7);


w3schools CERTIFIED . 2022

Obtenir une certification!

Complétez les modules React, faites les exercices, passez l'examen et devenez certifié w3schools !!

95 $ S'INSCRIRE

Déstructuration d'objets

Voici l'ancienne façon d'utiliser un objet dans une fonction :

Avant de:

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red'
}

myVehicle(vehicleOne);

// old way
function myVehicle(vehicle) {
  const message = 'My ' + vehicle.type + ' is a ' + vehicle.color + ' ' + vehicle.brand + ' ' + vehicle.model + '.';
}

Voici la nouvelle façon d'utiliser un objet à l'intérieur d'une fonction :

Avec déstructuration :

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red'
}

myVehicle(vehicleOne);

function myVehicle({type, color, brand, model}) {
  const message = 'My ' + type + ' is a ' + color + ' ' + brand + ' ' + model + '.';
}

Notez que les propriétés de l'objet n'ont pas besoin d'être déclarées dans un ordre spécifique.

Nous pouvons même déstructurer des objets profondément imbriqués en référençant l'objet imbriqué puis en utilisant deux points et des accolades pour déstructurer à nouveau les éléments nécessaires de l'objet imbriqué :

Exemple

const vehicleOne = {
  brand: 'Ford',
  model: 'Mustang',
  type: 'car',
  year: 2021, 
  color: 'red',
  registration: {
    city: 'Houston',
    state: 'Texas',
    country: 'USA'
  }
}

myVehicle(vehicleOne)

function myVehicle({ model, registration: { state } }) {
  const message = 'My ' + model + ' is registered in ' + state + '.';
}


Testez-vous avec des exercices

Exercer:

Utilisez la déstructuration pour extraire uniquement le troisième élément du tableau, dans une variable nommée suv.

const vehicles = ['mustang', 'f-150', 'expedition'];

const [] = vehicles;