Skip to content

Commit 6f9c427

Browse files
committed
update functions content
1 parent 4546061 commit 6f9c427

1 file changed

Lines changed: 14 additions & 17 deletions

File tree

02-languages/02-apuntes/01-javascript/103 functions.js

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -63,33 +63,31 @@ function sum() {
6363
}
6464
console.log(sum(1, 2, 3)); // 6;
6565

66-
6766
///-- ARROW FUNCTIONS *****************************************************************************
6867

6968
// SINTAXIS
7069

7170
// Funciones flecha o también llamadas "lambda". Siempre son anónimas.
72-
const toUpper = (text) => {
73-
return text.toUpperCase();
71+
const double = (num) => {
72+
return num * 2;
7473
};
7574

7675
// Si solo tenemos la sentencia "return" podemos acortar la función y ahorrarnos
7776
// la palabra clave "return" y las llaves:
78-
const toUpper = (text) => text.toUpperCase();
77+
const double = (num) => num * 2;
7978

8079
// También podemos omitir los paréntesis cuando el argumento es único:
81-
const toUpper = text => text.toUpperCase();
80+
const double = num => num * 2;
8281
// Sólo cuando es único, porque sino la coma de separación de argumentos se
8382
// podría confundir con el operador coma.
8483

8584
// En caso de que lo que devuelva sea un objeto literal hay que tener cuidado:
8685
const toObject = (name, surname, age) => {
87-
return { name, surname, age }
88-
}
86+
return { name, surname, age };
87+
};
8988
// y utilizar paréntesis para devolver en la forma corta, ya que las llaves de
9089
// objeto literal se confundirían con las llaves de ámbito de función.
91-
const toObject = (name, surname, age) => ({ name, surname, age })
92-
90+
const toObject = (name, surname, age) => ({ name, surname, age });
9391

9492
///-- SIMILITUDES: classic vs arrow *************************************************************
9593

@@ -114,11 +112,11 @@ saySomething("hello world", str => str.replace(/[aeiou]/gi, "")); // hll wrld
114112
const createCounter = () => {
115113
let i = 0;
116114
return () => console.log(++i);
117-
}
118-
const count = createCounter();
119-
count(); // 1
120-
count(); // 2
121-
count(); // 3
115+
};
116+
const countFn = createCounter();
117+
countFn(); // 1
118+
countFn(); // 2
119+
countFn(); // 3
122120

123121
// ⚠ En este último ejemplo hemos empleado un CLOSURE! Este concepto avanzado se verá con más
124122
// detenimiento en la parte avanzada.
@@ -143,7 +141,7 @@ en tiempo de desarrollo. Están más pensadas para ser usadas como 'function exp
143141
*/
144142

145143
function f() {
146-
console.log(this.age); // Aqui el contexto es el "caller" de la función. this -> caller.
144+
console.log(this.age); // Aqui el contexto es el "caller" de la función. this -> caller.
147145
}
148146

149147
// Al hacer la siguiente llamada debéis preguntaros ... ¿quién está invocando a la función f?
@@ -181,7 +179,6 @@ g.call({ surname: "calzado" }); // camargo
181179
// No importa que intente invocar la arrow function con un objeto distinto de "window", no tiene
182180
// efecto!
183181

184-
185182
// *** Otras diferencias
186183

187184
// - Las arrow functions no pueden ser 'variadic' y no presentan por tanto la keyword 'arguments'
@@ -191,7 +188,7 @@ const sum = () => {
191188
};
192189
console.log(sum(1, 2, 3)); // Uncaught ReferenceError: arguments is not defined
193190

194-
// Sin embargo, existe una forma de obtener todos los argumentos con forma de array *similar* a
191+
// Sin embargo, existe una forma de obtener todos los argumentos con forma de array *similar* a
195192
//arguments. Esto lo veremos más adelante.
196193

197194
// - Las arrow functions no pueden ser funciones constructoras ni presentan la propiedad

0 commit comments

Comments
 (0)