Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

Sorry, you do not have permission to ask a question, You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please type your username.

Please type your E-Mail.

Please choose an appropriate title for the post.

Please choose the appropriate section so your post can be easily searched.

Please choose suitable Keywords Ex: post, video.

Browse

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Navigation

  • Home
  • About Us
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • About Us
  • Contact Us
Home/ Questions/Q 4800

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Latest Questions

Author
  • 61k
Author
Asked: November 27, 20242024-11-27T03:20:08+00:00 2024-11-27T03:20:08+00:00

Crear y entender funciones en Javascript!

  • 61k

Las funciones son uno de los bloques de construcción fundamentales en JavaScript.

Una función en JavaScript es similar a un procedimiento (un conjunto de instrucciones que realiza una tarea).

Podemos decir que una función es un bloque de instrucciones donde se realizara cierto algoritmo/tarea/instrucción que devolverá un resultado o modificara ciertos valores para un futuro.

Y también podemos recalcar que la funciones son principalmente usadas para ejecutar código repetitivo.

Aunque sabemos que podemos hacer con una función muchas veces no entendemos si declararlas de una forma u otra, esto debido a tenemos varias formas de declararlas, asi que vamos a verlas:

Declaración de función o Function Declaration

Esta es la tradicional de siempre que consta de la palabra clave function, seguida de:

  1. El nombre de la función.
  2. Una lista de parámetros de la función, entre paréntesis y separados por comas, si no lleva parámetros solo basta con dejar los paréntesis vacíos ().
  3. Las declaraciones de JavaScript que definen la función, encerradas entre llaves, { … }.
 function mi_nombre(parametro1, parametro2, ...) {   // declaración de javascript, operaciones, etc.   // simplemente lo que hará la función cuando sea llamada   return number * number; }  
Enter fullscreen mode Exit fullscreen mode

Expresion de función o Function Expression

La principal diferencia con de la function expression con las function declaration es que aqui no incian con la palabra reservada function si no que inician como si creaaramos una variable:

 const variable = function(parametro1, parametro2, ...) {   // declaración de javascript... }  
Enter fullscreen mode Exit fullscreen mode

Nos podemos dar cuenta que estas funciones (function expression) pueden ser anónimas, pero podemos hacer mención de ellas o mandarlas a llamar con el nombre de la variable en donde la alojamos.

También otra de las diferencias respecto a estas dos funciones, es el lugar donde las declaramos:

 alert(foo()); // "soylenin" ✅ function foo () {return "soylenin";}  
Enter fullscreen mode Exit fullscreen mode

Con las declaraciones de funciones (function declaration) podemos decir estas funciones una vez que se declaran estarán disponibles en donde sea, siempre y cuando estén dentro de su scope, y no importara si se mandan a llamar antes o después.

Pero con las Expresiones de funciones (function expression) es diferente, por qué sabemos que la función la guardamos en una variable y recordemos que las variables no pueden ser llamadas antes de haberlas asignado, si no simplemente sera un error:

 alert(foo()); // ERROR! foo no esta declarada const foo = function() {return "soylenin";}  
Enter fullscreen mode Exit fullscreen mode

Funciones flecha o Arrow Functions

Una función flecha es una alternativa compacta a una expresión de función tradicional, pero es limitada y no se puede utilizar en todas las situaciones.

En lugar de seguir usando la palabra function la podemos omitir pero en su lugar tenemos que poner un signo igual (=) mas un cierre de paréntesis cuadrado (>) [o un mejor conocido “mayor que”] después del paréntesis de cierre:

 const variable = () => {   return "soylenin" }  console.log(variable()) // "soylenin"  
Enter fullscreen mode Exit fullscreen mode

Esta función es mas compacta y tiene sus propios beneficios con respecto al resto, ya que si nosotros solo retornamos un solo valor, podemos quitar la palabra return y la llaves e implícitamente la función retornara el valor.

 const variable = () => "soylenin"  console.log(variable()) // "soylenin"  
Enter fullscreen mode Exit fullscreen mode

Esto es muy practico ya eliminamos código y sigue siendo igual de efectiva la función, y debemos de decir que no solo podemos usar funciones de flecha de esta manera, en el mundo el uso mas cotidiano que se le da a esta función es cuando se usan dentro de métodos iteradores, por ejemplo .map() en un array

 const valorFinal = arrayProduct.map((item) => item.id === 3)  
Enter fullscreen mode Exit fullscreen mode

Aquí simplemente a la variable valorFinal se le asignara el valor del array que corresponda con él id de 3.

También otros de los grandes beneficios es que es utilizado para poder heredar el contexto.

Básicamente fue para quitar los engorrosas y extrañas formas de usar this en nuestro código, haciendo que sea mas intuitivo el código.

En las funciones tradicionales de manera predeterminada this está en el ámbito de window:

 window.age = 10; // <-- ¿me notas? function Person() {   this.age = 42; // <-- ¿me notas?   setTimeout(function () {// <-- La función tradicional se está ejecutando en el ámbito de window     console.log("this.age", this.age); // genera "10" porque la función se ejecuta en el ámbito de window   }, 100); }  const p = new Person();  
Enter fullscreen mode Exit fullscreen mode

Las funciones flecha no predeterminan this al ámbito o alcance de window, más bien se ejecutan en el ámbito o alcance en que se crean:

 window.age = 10; // <-- ¿me notas? function Person() {   this.age = 42; // <-- ¿me notas?   setTimeout(() => {// <-- Función flecha ejecutándose en el ámbito de "p" (cuando se manda a llamar a la función y donde se aloja)     console.log("this.age", this.age); // genera "42" porque la función se ejecuta en el ámbito de Person   }, 100); }  const p = new Person();  
Enter fullscreen mode Exit fullscreen mode

Si te gusto el contenido puedes apoyarme en:

ko-fi

codenewbiejavascriptshowdevwebdev
  • 0 0 Answers
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

Sidebar

Ask A Question

Stats

  • Questions 4k
  • Answers 0
  • Best Answers 0
  • Users 2k
  • Popular
  • Answers
  • Author

    ES6 - A beginners guide - Template Literals

    • 0 Answers
  • Author

    Understanding Higher Order Functions in JavaScript.

    • 0 Answers
  • Author

    Build a custom video chat app with Daily and Vue.js

    • 0 Answers

Top Members

Samantha Carter

Samantha Carter

  • 0 Questions
  • 20 Points
Begginer
Ella Lewis

Ella Lewis

  • 0 Questions
  • 20 Points
Begginer
Isaac Anderson

Isaac Anderson

  • 0 Questions
  • 20 Points
Begginer

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore, ask, and connect. Join our vibrant Q&A community today!

About Us

  • About Us
  • Contact Us
  • All Users

Legal Stuff

  • Terms of Use
  • Privacy Policy
  • Cookie Policy

Help

  • Knowledge Base
  • Support

Follow

© 2022 Querify Question. All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.