Funciones y objetos en JavaScript
Al finalizar este tema
Podrás crear funciones para reutilizar código y agrupar datos relacionados en objetos.
Funciones: agrupar código para reutilizarlo
En lugar de escribir el mismo código varias veces, puedes agruparlo en una función para ejecutarlo repetidamente simplemente invocándola por su nombre.
// Declaración de función
function greet(name) {
return `¡Hola, ${name}!`;
}
// Llamada a la función
console.log(greet("Kim Desarrollador")); // "¡Hola, Kim Desarrollador!"
console.log(greet("Lee Código")); // "¡Hola, Lee Código!"name es un parámetro: el valor de entrada que se pasa a una función. return es la palabra clave que devuelve un resultado. Si no hay return, la función devuelve undefined.
// Función flecha — forma corta (ES6+)
const add = (a, b) => a + b;
console.log(add(3, 5)); // 8
// Si son varias líneas, usar llaves + return
const calculate = (price, tax) => {
const total = price + price * tax;
return total;
};
console.log(calculate(10000, 0.1)); // 11000Las funciones de flecha (=>) son la forma más utilizada para escribir funciones en el JavaScript moderno. En las de una sola línea, incluso se puede omitir return, lo que hace que el código sea más conciso.
Objetos: agrupar datos relacionados
Si se almacenan el nombre, la edad y el correo electrónico de una persona en variables separadas, su gestión se vuelve difícil. Los objetos (Object) agrupan los datos relacionados en pares clave-valor para gestionarlos como una única unidad.
const user = {
name: "Kim Desarrollador",
age: 28,
email: "dev@example.com",
skills: ["JavaScript", "Python"]
};
// Dos formas de acceder
console.log(user.name); // "Kim Desarrollador" (notación de punto)
console.log(user["email"]); // "dev@example.com" (notación entre corchetes)
// Modificación de valores
user.age = 29;
// Agregar nueva propiedad
user.company = "startup";Método: una función dentro de un objeto
Es posible incluir una función dentro de un objeto. Esto se conoce como método.
const calculator = {
result: 0,
add(value) {
this.result += value;
return this;
},
subtract(value) {
this.result -= value;
return this;
},
show() {
console.log(`Resultado: ${this.result}`);
}
};
calculator.add(10).add(5).subtract(3).show();
// Resultado: 12this se refiere a "este mismo objeto". this.result tiene el mismo significado que calculator.result. Al usar return this en un método, se permite el encadenamiento (chaining), un patrón que permite llamar a métodos de forma consecutiva.