Curso Pr谩ctico de JavaScript

Curso Pr谩ctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Funciones

4/26
Recursos
Transcripci贸n

Aportes 45

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Funci贸n, par谩metros y argumentos.

Espero que sirva

Como se hace para tener la energ铆a de JuanDC todo el tiempo jajajajja

Funciones

1锔.Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es una funci贸n?

  • Las funciones nos permiten guardar bloques de c贸digo para reutilizarlos y ejecutarlos en el futuro.

驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

  • Nos sirve cuando tenemos variables o bloques de c贸digo muy parecidos (con cambios que podr铆an ser par谩metros y argumentos) que podemos encapsular para reutilizar m谩s de una vez en el futuro. Tambi茅n nos sirve para ordenar y mejorar la legibilidad de nuestro c贸digo.

驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

  • Las funciones reciben par谩metros cuando las creamos. Y les enviamos argumentos cuando las ejecutamos.

2锔.Convierte el siguiente c贸digo en una funci贸n, pero cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "George";
const lastname = "Gutierrez";
const completeName = name + lastname;
const nickname = "georgegg";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

function nombreCompleto(name, lastName) {
    return name + ' ' + lastName
}

function saludo(name, lastname, username) {
    const completeName = nombreCompleto(name, lastname);

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + username + ".");  
}

La pregunta es 驴Qu茅 es una funci贸n? lo que Juan responde es 驴Para que sirve una funci贸n? entonces 驴Qu茅 es realmente una funci贸n?

Una funci贸n en JavaScript es similar a un procedimiento 鈥 un conjunto de instrucciones que realiza una tarea o calcula un valor, pero para que un procedimiento califique como funci贸n, debe tomar alguna entrada y devolver una salida donde hay alguna relaci贸n obvia entre la entrada y la salida

Par谩metros y Argumentos
Par谩metros:
Son los nombres que se les da o que se espera recibir en la funci贸n, para que una funci贸n cumpla con su tarea, es decir, son los nombres que aparecen en la definici贸n de una funci贸n.
.
Argumentos:
Son los valores, los cuales van a servir para representar a esos par谩metros que recibe nuestra funci贸n, es decir, son los valores que le vamos a pasar a una funci贸n.

Me causa conflicto el t茅rmino "variable constante".
  • Corchete [ ]
  • Llaves { }
  • Par茅ntesis ( )

Todavia me confundo con cuales son los argumentos y cuales son los parametros. Buena explicacion del profe Juan!

Super importante identificar los 鈥Argumentos鈥 y 鈥Par谩metros鈥 el simple hecho de conocer y saber que son y que hace cada uno de estos conceptos.

-Que es una funcion?
Las funciones nos permite encapsular bloques de codigo para reutilizarlos y ejecutarlos en el futuro.
-Cuando me sirve usar una funcion en mi codigo?
Nos sirve cuando tenemos variables o bloques de codigo muy parecidos (con cambios que podrian ser parametros y argumentos) que podemos encapsular para reutilizar mas de una vez en el futuro.
-Cual es la diferencia entre parametros y argumentos de una funcion?
Las funciones reciben par谩metros cuando las creamos y les enviamos argumentos cuando las ejecutamos.

yo realice el ejercicio con funciones, y lo realice con callback(funciones que llaman a otras funciones) para repasar

 let names = "Carlos";
  let lastnames = "Rocha";
  let userName = "charlie";
  let age = 27;
  let email = "[email protected]";
  let greaterAge = true;
  let moneySaved = 100000;
  let debts = 50000;

  function fullname (name, lastName){
    console.log(`mi nombre es: ${name} ${lastName}`);
  }

  function realMoney (saving, debts){
    const realMoney = saving - debts;
    console.log(`mi dinero actual sin deudas es: ${realMoney}`);
  }

  function personalData(name, lastName, saving, debts, callbackName, callbackMoney){
    let namePerson = name;
    let lastNamePerson = lastName;
    let savingMoneyPerson = saving; 
    let debtsPerson = debts;
    
    callbackName(namePerson, lastNamePerson);
    callbackMoney (savingMoneyPerson, debtsPerson);
  }

  personalData(names, lastnames, moneySaved, debts, fullname, realMoney);

Otra manera de entender las funciones es que son un conjunto de tareas que vamos a realizar con datos ya declarados antes en variables para poder generar una acci贸n que nos regrese algo completamente diferente. Cada instrucci贸n que lleve la funci贸n, debe terminar con un punto y coma 鈥;鈥. Esto es solo para cuando le agregamos m谩s de una instrucci贸n a nuestra funci贸n.
Por ejemplo:

function sumar(a, b) {
	let resultado = a + b;
	return resultado;
};

Y si llamamos nuestra funci贸n con:

sumar (1, 2)

simplemente nos regresa 3.
Espero sea de ayuda.

Clarita la diferencia entre parametros y argumentos, la he leido mil veces pero nunca me la acuerdo

en funciones yo dije que una funci贸n es parte de la POO, ya que encapsula porciones de codigo para utilizarlas, cuando nuestro codigo es muy largo, exelente, pero no sab铆a muy bien sobre los parametros y argumentos, gracias por aclarar mis dudas

Solo tuve algunas diferencias m铆nimas en la forma en que convert铆 la funci贸n del saludo, pero obtuve el mismo resultado.

Tal vez al principio podr铆a ser algo lioso interiorizar la funci贸n dentro de una funci贸n, a煤n mas con los dichosos Par谩metros que aun encima tienen el mismo nombre jajaj

Pero si recordamos que las funciones no importa el orden y siempre se ejecutan cuando la obligamos, entonces tal vez se podr铆a asimilar mejor si nos enfocamos en el efecto domin贸 de la l贸gica y que cada Par谩metro es propia de cada funci贸n.

Osea,
function A (elmismonombre) {}
function B (elmismonombre) {}

Pese a tener 鈥渆lmismonombre鈥 como Par谩metro, es indiferente y no afecta en lo absoluto.

Para evitar confusiones, es com煤n ver a un par谩metro como una variable y un argumento como un valor.

Entonces se podr铆a decir que los argumentos son par谩metros con valores definidos al ejecutar la funci贸n.

Mientras estaba haciendo el test la pregunta sobre la diferencia entre argumento y par谩metro me tomo algo de tiempo entenderla, pero gracias a una asociaci贸n que hice pude entenderla.
Cuando buscamos el significado de Par谩metro encontramos lo siguiente : "Elemento o dato importante desde el que se examina un tema, cuesti贸n o asunto. ", por lo que yo entiendo el Par谩metro va a examinar algo y el Argumento ser谩 examinado.
Entonces la Asociaci贸n es que los Par谩metros van a examinar que el
valor ingresado (Argumento) para que siga las instrucciones de la funci贸n o verificar si es el valor correcto. Si la funci贸n no tiene par谩metros no importa que argumentos le des, no funcionar谩 porque no hay quien examine dicho argumento o valor.Puedes pensar en ello como un profesor(Examinador) y tu prueba(Argumento).

//                par谩metros
function persona(nombre,apellido)
{
    console.log(`yo soy ${nombre} ${apellido}`)
}
//          Argumentos
persona("Ricardo", "Donoso")

Incluso puede probar quitarle un par谩metro y te daras cuenta que te dar谩 error, por lo que si no hay par谩metros no hay forma de que la funcion se ejecute porque no hay examinador, por tanto no importante los argumetos que le des, no mostrara nada.

Tambi茅n puedes ver a los par谩metros como ranuras para la funcion, donde iran los argumentos, pero si no hay ranura no funcionara la funcion.

Eso yo entend铆 y le intente dar analogias a mi propio entendimiento, espero que les sirve y por el contrario si estoy equivocado corregirme por favor 馃槂.

Me encanto la explicaci贸n de las funciones Profe!!, ademas justo se dio la oportunidad de tener una funci贸n dentro de otra tan dificil que suena y en el ejemplo se vio muy f谩cil. Me encanto la explicaci贸n y el ejemplo.

Como recordar cuando es Parametros y cuando Argumentos:
Las variables que colocas al crear la funcion son PARA usarlas, PARAmetros

Cuando estas en una discusion das argumentos para defenter tu idea, asi mismo cuando llamas a la funcion, le pasas argumentos para ejecutar(defender) tu idea

llave {}
corchete []

馃 Yo me recuerdo que una vez Freddy dijo que las funciones son como una cajita donde metes informaci贸n y esperas un resultado. Como a muy grandes rasgos siempre lo he visto as铆.

驴Qu茅 es una funci贸n y para que sirve?

Una funci贸n es una fracci贸n de c贸digo que realiza una acci贸n o presta un servicio 鈥 pero 鈥 驴para qu茅 queremos fracciones de c贸digo? Nos sirven para estructurar nuestra l贸gica, es decir, para organizar la secuencia de instrucciones.

Y resulta que esa fracci贸n de c贸digo que hace 鈥渁lgo鈥: que funciona, nos puede llegar a ser muy util (y nos daremos cuenta de ello m谩s adelante) para no repetir muchas veces el mismo texto de c贸digo.

pero 驴por que se repetiria muchas veces el c贸digo?

Porque habran ocasiones donde hay acciones repetitivas, como comprobaciones o verificaciones 鈥

2锔忊儯 Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

//Solution
const myFunction = (name, lastName, nickName) =>  `Mi nombre es:  ${name} ${lastName}, pero prefiero que me digas ${nickName}.`;

console.log(myFunction("Herald ", "Flores", "herald"));
function nombreCompleto(name , lastName){
    return name + ' ' + lastName;
}

nombreCompleto('Pedro', 'Ramos');


function saludar(nombre, apellido, username){
    const completeName = nombre + ' ' + apellido;
    const nickName = username;

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickName +".");
}

馃槂 Funciones
1.- Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es una funci贸n?
Conjunto de instrucciones que realiza una tarea o calcula un valor.
驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?
Cuando quiero empaquetar una serie de variables e instrucciones que realizan una tarea espec铆fica, con la finalidad de manipular y reutilizar el c贸digo f谩cilmente.
驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?
Un par谩metro representa un valor esperado al momento de definir la funci贸n, mientras que un argumento representa un valor enviado al momento de llamar a la funci贸n.

2.- Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Luigi";
const lastname = "del Carpio";
const completeName = name + lastname;
const nickname = "luigidelcarpio";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

// ---------- Soluci贸n ----------
function miFuncion(name, lastName, nickName){
	return `Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.`;
}
console.log(miFuncion('Luigi', 'del Carpio', 'luigidelcarpio'));

las funciones son lo maximo. una vez que les agarras el hilo, ves lo importante que son

La forma de escribir la funci贸n puede variar, sin embargo tiene el mismo resultado

//Opci贸n 1
function saludar (nombre){
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}

//Opci贸n 2
const saludar =function (nombre){
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}


//Opci贸n 3
const saludar = ()=>{
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}
//Esta ultima es llamada funcion flecha

Prefer铆 hacerlo con una sola l铆nea de c贸digo sin llamar a la funci贸n anterior:

<function saludar(nombre, apellido, apodo){
console.log("Mi nombre es " + nombre + " " + apellido + " pero me dicen " + apodo + ".");
};> 

Res煤men de la respuesta a la pregunta de par谩metros y argumentos, bas谩ndome en conceptos anteriormente ense帽ados.
Cuando se declaran junto con la funci贸n son PAR脕METROS, cuando se inicializan junto a la funci贸n (invocarla) son ARGUMENTOS

Hola me gustar铆a poder compartir esta informaci贸n que me parece importante investigar ya que son los tipos de declaraciones de funciones que se pueden usar en JavaScript dependiendo de utilidad.

Una de las caracter铆sticas m谩s importantes de las funciones en Javascript es su versatilidad. En Javascript las funciones son diferentes a las funciones de otros lenguajes de programaci贸n. En Javascript las funciones son un objeto. Por ello se les puede asignar variables, arrays u otros objetos. La forma en la cual hallamos definido nuestra funci贸n, definir谩 el comportamiento de la misma. Siendo los tipos de funci贸n que podemos crear en Javascript los siguientes:

Function declaration
Function expression
IIFE (Immediately Invoked Function Expression)
Shorthand method definition
Arrow function
Generator function
Function constructor

Utilizar Inception como un ejemplo, para expresar una funci贸n dentro de una funci贸n, me mato de risa. Gracias

Me parece un poco mas comodo trabajar con arrow function, y con plantillas literales.

const fullName = (name,lastName,nickName) =>{
     console.log(`Mi nombre es ${name} ${lastName} pero prefiero que me digas ${nickName}`);
    
}
let name = "Nombre";
let lastName = "Apellido"
let nickName = "n"
fullName (name,lastName,nickName);

Odio la nueva intro de platzi xd

Diego es un excelente maestro. Pero la verdad no le entendi mucho a su curso. Este me hizo entender todo a la perfeccion. 隆Gracias!

LES COMPARTO ESTA PARTE DE MI PRUEBA DE JS

Funciones

1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:

  • 驴Qu茅 es una funci贸n?

    Las funciones son estructuras que nos permiten encapsular un bloque de c贸digo para que luego podamos invocarlo desde cualquier parte del flujo de nuestro programa. Las funciones pueden recibir par谩metros para devolver resultados en base a ellos.

  • 驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

    Cuando tenemos un fragmento de c贸digo que se repite en varios lugares podemos centralizar esa pieza de c贸digo en un solo lugar para tener una mejor reutilizaci贸n de c贸digo y hacer nuestro c贸digo m谩s f谩cil de entender.

  • 驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

    Los par谩metros son los nombres que aparecen en la definici贸n de una funci贸n. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una funci贸n

    const myFun = (parametros) => {
    
    }
    
    myFun(argumentos)
    

2锔忊儯 Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
const presentation = (name, lastname, nickname) {
	const completeName = name + lastname
	
	console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`)
}

presentation('Juan David', 'Castro Gallego', 'juandc')

genial. En lo que es una funcion y para que sirve tu explicacion me ayudo a plasmar una mejor respuesta que las ideas que ya tenia y mucho mas aun, pero que en mi respuesta no sabia como escribirlo.

No estoy de acuerdo con la definici贸n de funci贸n
En un c贸digo de

function holaMundo () {
	console.log("Hola mundo")
}

No estamos reutilizando c贸digo ni ordenandolo ni mejorando su lectura.
Por eso yo respond铆 que una funci贸n es un bloque de codigo que hace algo, y ya.

Funciones


1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:

  • Una funci贸n es una serie de instrucciones o lineas de c贸digo que son encapsuladas y nos permitir谩n reutilizar y ejecutar en el futuro Este debe tener parametros que reciba y retorne algo mas.
  • Usaremos funciones cuando queramos interactuar con datos recibidos y hacer una acci贸n repetida a partir de eso. Por ejemplo:
let estudiante
function saludarEstudiante(estudiante){
	console.log(`Hola ${estudiante}`)
}
saludarEstudiante("Juan");
  • Un parametro es el nombre que llevar谩 el dato que recibir谩 la funci贸n mientras que el argumento es su valor en s铆.

2锔忊儯 Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

function presentarse(name, lastname, nickname){
completeName = name + lastname;
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

presentarse("Juan David", " Castro Gallego", "JuanDc")