Skip to content

Commit 6c811d2

Browse files
committed
update module 2 notes
1 parent 0c05f77 commit 6c811d2

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

02-languages/02-apuntes/01-javascript/105 destructuring.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,19 @@ const student = {
5757
country: {
5858
id: 21,
5959
name: "Spain",
60-
iso3: "SPA",
60+
iso: "ES",
6161
},
6262
};
63-
const { name, country: { name: countryName, iso3 } } = student;
63+
const { name, country: { name: countryName, iso } } = student;
6464
console.log(name); // "Evan"
6565
console.log(countryName); // "Spain"
66-
console.log(iso3); // "SPA"
66+
console.log(iso); // "ES"
67+
68+
// IMPORTANTE ⚠ incluso podemos capturar 2 veces una misma propiedad, por ejemplo,
69+
// para quedarnos con ella pero además hacer destructuring en profundidad también:
70+
const { country: { name: countryName, iso }, country } = student;
71+
console.log(country); // { ... }
72+
console.log(countryName, iso); // "Spain", "ES"
6773

6874
// Incluso podemos aplicar "destructuring" sobre objetos que se pasan como argumento de una
6975
// función:
@@ -104,8 +110,8 @@ console.log(third); // "Ana"
104110

105111
// Se puede aplicar "destructuring" sobre arrays pasados como argumento de una función:
106112
const students = ["Alan", "Evan", "Ana"];
107-
const getSecond = ([, second]) => second;
108-
console.log(getSecond(students)); // "Evan"
113+
const logSecond = ([, second]) => console.log(second);
114+
logSecond(students); // "Evan"
109115

110116
// También se puede aplicar "destructuring" profundo en arrays bidimensionales.
111117
const matrix = [
@@ -117,6 +123,14 @@ const matrix = [
117123
const [, [, center]] = matrix;
118124
console.log(center); // 10;
119125

126+
// IMPORTANTE ⚠: También se puede aplicar destructuring mixto, esto es, mezclar
127+
// desctructuring de arrays y de objetos, en cualquier orden. Para ilustrarlo,
128+
// vamos a descomponer el array interior de la matriz con destructuring de objetos
129+
// puesto que recordad: los arrays son objetos.
130+
const [, { 1: center }] = matrix;
131+
console.log(center); // 10;
132+
133+
120134
// "DESTRUCTURING" PARA REASIGNAR VARIABLES
121135

122136
// Se pueden hacer cosas bastante bizarras con el destructuring, como por ejemplo hacer un swap de
@@ -126,7 +140,7 @@ let a = "a";
126140
let b = "b";
127141

128142
// Swap clásico, nos tenemos que apoyar en variables auxiliares
129-
let temp = a;
143+
const temp = a;
130144
a = b;
131145
b = temp;
132146

02-languages/02-apuntes/01-javascript/107 default arguments.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///-- DEFAULT ARGUMENTS **************************************************************************
22

3-
// A partir de ES6 podemos asignar valores por defecto a los argumentos de una función:
3+
// A partir de ES6 podemos asignar valores por defecto a los parámetros de una función:
44
const greet = (name = "Unknown") => console.log("Hello, " + name);
55

66
greet(); // "Hello, Unknown"

0 commit comments

Comments
 (0)