Sobre Nosotros

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Machine Learning Engineering (16 weeks)

Full-Stack Software Developer

Buscar en lecciones

Aprendizaje social y en vivo

La forma más eficiente de aprender: Únete a una cohorte con compañeros, transmisiones en vivo, sesiones improvisadas de codificación, tutorías en vivo con expertos reales y mantenga la motivación.

De cero a que te paguen como desarrollador, aprende las habilidades del presente y del futuro. Impulsa tu carrera profesional y sé contratado por una empresa tecnológica.

Empezar a programar

← Regresar a lecciones
Editar en Github

Trabajando con Funciones

¿Qué son las Funciones?

Dominar el uso de listas y bucles es una de las 5 habilidades fundamentales para construir algoritmos:

  1. Variables.
  2. Condicionales.
  3. Listas.
  4. Bucles.
  5. Funciones.

¿Qué son las Funciones?

Básicamente, una función es un montón de código envuelto entre paréntesis que puedes ejecutar en cualquier momento cada vez que quieras. Por ejemplo:

1//el nombre de la función es "multiply" y recibe 2 param: a y b 2function multiply(a, b) { 3 //la función devuelve la multiplicación 4 return a * b; 5}
  • Cada función debe tener un propósito (un objetivo) (como nuestra función "multiplicar"). El propósito de la función es calcular la multiplicación entre dos números dados.
  • Debe tener un nombre único. En este caso particular, nuestra función se llama "multiplicar", que es un gran nombre porque sabes exactamente de qué se tratan las funciones, es explícito.
  • Debe devolver algo. De forma predeterminada, en javascript, todas las funciones devuelven "undefined", pero debes reemplazarlo y siempre devolver algo útil. En este ejemplo, queremos devolver el resultado de una multiplicación de a & b.
  • Las funciones pueden tener parámetros. Un "parámetro" es una variable que la función puede recibir al principio de su código (como a y b en nuestro ejemplo).

La idea es tener una librería con cientos de funciones y usarlas como nos plazca, declaras todas tus funciones y luego empiezas a usarlas y reutilizarlas todo el tiempo.

1let resultOfMultiplication = multiply(2,4); 2// resultOfMultiplication will be 8

Pero, ¿Por qué usar Funciones en lugar de simplemente hacer todo en una gran pedazo de código?

La codificación es muy abstracta y sucede mucho que no tienes idea de lo que escribiste ayer. Antes de que existieran las funciones, los algoritmos eran esta enorme serie interminable de líneas de código donde los desarrolladores tenían dificultades y se perderían. Es difícil para tu cerebro seguir un procedimiento / algoritmo de gran longitud; mientras más líneas de código, más abstracto se vuelve.

Al utilizar funciones tienes las siguientes ventajas:

  • Dividir y conquistar: divide tu algoritmo en sub-algoritmos más pequeños y concéntrate en un problema a la vez.
  • Reutiliza tu código llamando a la función varias veces, reduciendo así drásticamente la longitud de tu código.
  • Organiza tu código: los nombres de las funciones te dirán qué hace esa parte del código, puede tener todas las funciones en un archivo separado y reutilizarlo en todos sus desarrollos futuros.

Si lo piensas bien, las funciones son equivalentes a los libros. Almacenan conocimiento y la forma de hacer las cosas y en futuros desarrollos simplemente las reutilizas en lugar de tener que resolver todo de nuevo.

Alcance de la Función

Todas las funciones deben comenzar y terminar en algún lugar, esto se llama el alcance de la función. Puedes delimitar los límites usando llaves de esta forma:

1 2//esta parte del código está FUERA de la función 'multiply' 3 4function multiply(a, b) { 5 6 //esta parte del código está DENTRO de mi función pero nunca lo hará 7 8 return a * b; 9 10 //esta parte del código está DENTRO de mi función pero nunca se ejecutará porque se encuentra DESPUÉS del return 11} 12 13//esta parte del código está FUERA de la función 'multiply'

Cualquier variable que se declare dentro de la función, no estará disponible fuera de ella.

1function multiply(a, b) { 2 3 let myVariable = 'hello'; 4 5 return a * b; 6} 7 8console.log(myVariable); 9// este console.log no funcionará, generará un error, porque myVariable está declarada dentro de la función multiplicar, por lo tanto no está disponible fuera. 10

☝️ Es muy importante recordar que una vez que use la instrucción return, la función dejará de ejecutarse, si hay algún código después de esa instrucción, nunca se ejecutará.

Funciones Anónimas

Puedes declarar funciones sin nombres, pero solo si las almacenas en variables como esta:

1var multiply = function(a, b) { 2 return a * b; 3}

Funciones de Llamada

La única forma de usar (una función de llamada) es usar paréntesis como este:

1//Así es como se llama a una función sin parámetros. 2multiply(); 3 4//Así es como llamas a una función con parámetros. 5multiply(<first param>,<second param>); 6 7//por ejemplo, para multiplicar 3 por 9 8multiply(3,9);

Recuerda asignarle a la función los parámetros que debe recibir. En nuestro ejemplo, la función de multiplicación fue declarada pidiendo que se multipliquen dos números. Juega con el siguiente ejemplo como quieras:

Llamada Anidada

Puedes combinar funciones como quieras y tener llamadas encadenadas como esta:

1function sum(a,b){ 2 return a+b; 3} 4function multiply(a,b){ 5 return a*b; 6} 7 8console.log(multiply(sum(3,5),sum(1,1))); 9 10// Las ejecuciones van de adentro hacia afuera. 11// Primero, se calculará la suma de 3 + 5 y 1 + 1. 12// A continuación, se multiplicarán sus respectivos resultados. 13let firstSum = sum(3,5); 14let secondSum = sum(1,1); 15console.log(multiply(firstSum, secondSum));

☝️ Ver este ejemplo en vivo en replit

Veamos un ejemplo:

El siguiente código tiene 3 funciones declaradas:

function getAverage(array: ages){ ... }

function getYoungest(array: ages) ... } function getPersonInfoByName(string: name) ... }

Como puedes ver, los nombres de las funciones son bastante específicos sobre lo que hacen las funciones, así como los parámetros asignados a ellas.

La función recibe un array de:

Otras cosas importantes a tener en cuenta:

  • Estamos llamando a la función getPersonInfoByName dos veces, sin usar funciones tendríamos que usar más código porque no tendríamos ninguna opción para reutilizar la función.
  • La función getAverage obtiene el valor promedio en un array dado ¡No sabe nada más y eso es genial! Al separar su código en pequeñas funciones, puede concentrarse en una cosa a la vez.