Introducción al curso

1

¡Alto! Tenemos una nueva versión de este curso para ti

2

Bienvenidos al Curso de Fundamentos de JavaScript

3

Repositorio de este curso de fundamentos de JS

Primeros pasos en JavaScript

4

Variables

5

Variables: Strings

6

Variables: Números

7

Funciones

8

El alcance de las funciones

9

Objetos

10

Desestructurar objetos

11

Parámetros como referencia o como valor

12

Comparaciones en JavaScript

Estructuras de Control y Funciones

13

Condicionales

14

Funciones que retornan valores

15

Arrow functions

16

Estructuras repetitivas: for

17

Estructuras repetitivas: while

18

Estructuras repetitivas: do-while

19

Condicional múltiple: switch

Arrays

20

Introducción a arrays

21

Filtrar un array

22

Transformar un array

23

Reducir un array a un valor

Programación Orientada a Objetos en JavaScript

24

Cómo funcionan las clases en JavaScript

25

Modificando un prototipo

26

El contexto de las funciones: quién es this

27

La verdad oculta sobre las clases en JavaScript

28

Clases en JavaScript

Asincronismo

29

Funciones como parámetros

30

Cómo funciona el asincronismo en JavaScript

31

Cómo funciona el tiempo en JavaScript

32

¿Qué pasó con swapi.co?

33

Callbacks

34

Haciendo múltiples requests

35

Manejando el Orden y el Asincronismo en JavaScript

36

Manejo de errores con callbacks

37

Promesas

38

Promesas Encadenadas

39

Múltiples promesas en paralelo

40

Async-await: lo último en asincronismo

Juego de HTML

41

Comenzando el juego

42

Generando una secuencia de números

43

Iluminando la secuencia de colores

44

Obteniendo el input del usuario

45

Agregando la verificación del color elegido

46

Agregando los estados finales del juego

47

Conclusiones del curso

Complementos

48

Diferencias entre var, let y const

49

Memoización: ahorrando cómputo

50

¿Hace cuántos días naciste?

51

Funciones recursivas

52

Entiende los closures de JavaScript

53

Estructuras de datos inmutables

54

Cambiando de contexto al llamar a una función

55

¿Cuándo hace falta poner el punto y coma al final de la línea?

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Funciones que retornan valores

14/55
Recursos

En esta clase seguiremos trabajando con condicionales para desglosar las funciones en funciones más pequeñas que retornen un valor.

Debemos de tener en cuenta que el número 18 esta incluido dentro del rango de edad. Para ello utilizamos los símbolos >=.

Return detiene la ejecución de una función y devuelve el valor de esa función.

Las variables definidas con const se comportan como las variables, excepto que no pueden ser reasignadas. Las constantes pueden ser declaradas en mayúsculas o minúsculas. Pero por convención, para distinguirlas del resto de variables, se escribe todo en mayusculas.

Aportes 312

Preguntas 32

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Yo Hice esta prueba a ver si me daba, y me salió 🎉🎉
que sino era Mayor de Edad **RETORNARA **cuantos años le faltaban para serlo.


    function imprimirSiEsMayorDeEdad(persona) {
       if (persona.edad >= 18) {
           console.log(`${persona.nombre} es mayor de edad`)
       } else {
           console.log('te faltan ' + (18 - (persona.edad)) + ' Años para ser Mayor de Edad')

       }
    }   

Una forma de acortar código puede ser usando Operador ternario
Sintaxis: condición ? expr1 (si es verdad): expr2 (si es falso)

Si por ejemplo quieren agregar el atributo **edad **a su objeto llamado **usuario ** pueden escribir lo siguiente:
Object.defineProperty(usuario,'edad',{value:18});

  • el primer parámetro es el nombre del objeto
  • el segundo parámetro el nombre del atributo
  • el tercer parámetro es el valor del parámetro
var sacha = {
  nombre: 'Sacha',
  apellido: 'Grey',
  edad: 28
}

function MayorMenor(x){

  var edad = x.edad
  if(edad>18){
    console.log('Sacha es mayor de edad')
  }
  else{
    console.log('Sacha es menor de edad') 
  }

}

MayorMenor(sacha)

No entendí muy bien lo del return

En esta clase aprendí que la una buena practica no es hacer el código lo más corto posible sino lo más claro y entendible que se pueda.

Aca esta la solucion al problema ❤️ ❤️

function MayorEdad(persona){
    if(persona.edad >= 18){
        console.log(`${persona.nombre} sos mayor papa`)
    }else{
        console.log(`${persona.nombre} sos menor de edad lince`)
    }
}

Tengo una duda con los parámetros: ¿No es necesario definirlos en algún punto del código? Porque nunca definimos ‘persona’, solo lo usamos en las funciones y ya.

Cuando usamos valores que deben ser fijos en el programa es buena práctica usar const en lugar de var. Y por convención el nombre usado para la constante va en mayúsculas separadas por guion bajo.

var jonatan = {
nombre: ‘jonatan’,
apellido: ‘marin’,
edad: 28,
ingeniero: true,
cocinero: false,
cantante: false,
guitarrista: true
}
var katherin = {
nombre: ‘katherin’,
apellido: ‘diaz’,
edad: 16,
ingeniero: true,
cocinero: false,
cantante: false,
guitarrista: true
}

var alejandro = {
nombre: ‘alejandro’,
apellido: ‘delgado’,
edad: 18,
ingeniero: true,
cocinero: false,
cantante: false,
guitarrista: true
}

function imprimirSiEsMayorDeEdad (persona){
if ( persona.edad >=18 ){
console.log(${persona.nombre} ${persona.apellido} es mayor de edad y tiene ${persona.edad} años)
} else {
console.log(${persona.nombre} ${persona.apellido} es menor de edad y tiene ${persona.edad} años)
}
}

Hice este ejercicio por mi cuenta, me gustaría que lo observaran y me dieran algún consejo o alguna opinion.

const MAYORIA_EDADES = {
    Colombia : 18,
    Spain : 18,
    USA : 21
}
/*
var model_person = {
    name : "",
    last_name : "",
    age : 1,
    country : "",
}*/
// new objects
var santiago2 = {
    ...santiago,
    country : "Colombia"
}

var juan = {
    ...juan,
    country : "Spain"
}

var pedro = {
    name : "Pedro",
    last_name : "Perencejito",
    age : 23,
    country : "USA"
}

function isOlder(person){
    for (var country in MAYORIA_EDADES){
        if(person.country === country){
            return person.age >= MAYORIA_EDADES [country];
        }
    }
}

function get_LegalAge_orNot(person){
    let {name} = person;
    
    if( isOlder(person) ){
        console.log(`${name} is of legal age`);
    } else {
        console.log('Is not of legal age');
    }
}

Me gusta que además de enseñarnos JavaScript también nos enseñe las buenas prácticas de programación 😄

Hola compañeros, escribí un pequeño código para saber si eres mayor de edad dependiendo el país.

var gio={
  nombre: 'Giovanni',
  edad: 18,
}

var mex ={
  nombreP:'México',
  mayorEdad: 18
}

var usa ={
  nombreP:'USA',
  mayorEdad: 21
}

function comparaEdad(persona, pais) {

  console.log(persona.edad >= pais.mayorEdad)
  return persona.edad >= pais.mayorEdad
  
}

function mayorEdad(persona, pais) {
  if (comparaEdad(persona, pais)===true) {
    console.log(`${persona.nombre} es mayor de edad en ${pais.nombreP} tiene ${persona.edad} años`)
  }
  else if(comparaEdad(persona, pais)===false) {
    console.log(`${persona.nombre} es menor de edad tiene ${persona.edad} años`)
  }
}

mayorEdad(gio,mex);
function x(){
  return true
}

Mi resumen

/* Resumen */
var gustavo = {
  nombre: "Gustavo",
  apellido: "Tiseira",
  edad: 30,
  ingeniero: true,
  concinero: false,
  cantante: false,
  poker: true
};

var juan = {
  nombre: "Juan",
  apellido: "Perez",
  edad: 13
};

/* ------------------------------------------------------------------------- */

function imprimirSiEsMayorDeEdad(persona) {
  if (persona.edad >= 18) {
    console.log(`Genial ${persona.nombre} eres mayor de edad.`);
  } else {
    console.log(`Ups ${persona.nombre} eres menor de edad.`);
  }
}

imprimirSiEsMayorDeEdad(gustavo);
imprimirSiEsMayorDeEdad(juan);

/* ------------------------------------------------------------------------- */
/* Mejorando el codigo anterior 
creo una nueva funcion que solo verifique si es mayor
o no, y con la otra funcion la imprimo
Ademas le doy una constante (no cambia el valor) 
global para referenciar
la edad para ser mayor
Se escriben en mayuscula si hay espacio se separa con _*/

const MAYORIA_DE_EDAD = 18;

function esMayorDeEdad(persona) {
  return persona.edad >= MAYORIA_DE_EDAD;
}

function imprimirSiEsMayorDeEdad1(persona) {
  if (esMayorDeEdad(persona)) {
    console.log(`Genial ${persona.nombre} eres mayor de edad.`);
  } else {
    console.log(`Ups ${persona.nombre} eres menor de edad.`);
  }
}

imprimirSiEsMayorDeEdad1(gustavo);


var Adrian = { //metodo no. 1 para decir si una persona es mayor de edad
nombre: ‘Adrian’,
edad: 24
}
var Hector = {
nombre: ‘Hector’,
edad: 10
}

function metodo1({nombre,edad}) {
if (edad > 18 ) {
console.log('Hola soy ’ + nombre + ‘y soy mayor de edad’)
}
if (edad < 18 ) {
console.log('Hola soy ’ + nombre + ‘y soy menor de edad’)
}

}

function metodo2(persona) {
if (persona.edad >= 18) {
console.log(${persona.nombre} es mayor de edad)
}
else {
console.log(${persona.nombre} es menor de edad)
}
}

metodo1(Adrian)
metodo2(Hector)

hola¿me pueden explicar cuando hay que usar return?

RETO ANTERIOR ACTUALIZADO

var carlos = {
   name : 'carlos',
   lastname : 'calderon',
   edad : 34,
 ingeniero : true,
 striper : false
}

const edadMAyoria = 18;
function mayoriaEdad(persona){
 if(persona.edad >= edadMAyoria)
 return true
 else   return false
}
function imprimirMajor(persona){
(mayoriaEdad(persona) == true) ? console.log(`${persona.name}es mayor de edad`) : console.log(`${persona.name}es menor de edad`)
}
imprimirMajor(carlos);```

nice!!! todo muy bien explicado el profe super claro otro día que vale la pena

Las variables declaradas usando const se llaman “constantes”. No se pueden cambiar. Un intento de hacerlo causaría un error.

En Javascript por defecto todas las funciones por defecto retoran un valor. Es decir si declaramos una función cualquiera y no le especificamos un return, por defecto la función regresara un undefined

Cuando Sacha dice que deberia estar en otra funcion y despues invoca la funcion en el if ya me marea un poco porque para el le resulta mas legible pero para mi no

Tenemos que aprender a identificar las constantes dentro de nuestro código

Mi reto con cambios de esta clase

  • Uso de una variable constante (‘const’)
  • Uso de una funcion que retorna un dato booleano (true o false)
var Entrada = document.getElementById('Entradas')
 var Fernando = {
   nombre:'Fernando',
   nombreCompleto:'Fernando Ulises Huaman Santamaria',
   edad:18,
   pelicula:'El ataque de los Platziritos',
   asiento: 'J10',
   hora: '8:00 pm'
 }

 var Miguel = {
   nombre:'Miguel',
   nombreCompleto: 'Miguel Angel Salazar Rodriguez',
   edad:17,
   pelicula:'Platzitanic',
   asiento:'K8',
   hora:'10:55 am'
 }

 var Mixi = {
   nombre:'Mixi',
   nombreCompleto: 'Mixi Carolina Huaman Santamaria',
   edad:14,
   pelicula: 'Rapidos y Platzitosos 9',
   asiento:'L3',
   hora: '00:00 am'
 }
 const MAYORIA_DE_EDAD_EN_PERU = 18

 function mayorDeEdad(persona){
   return persona.edad >= MAYORIA_DE_EDAD_EN_PERU
 }

 function EntradasCine(persona) {
   var mayor ='S/. 17.00'
   var menor ='S/. 15.00'
   if(mayorDeEdad(persona)){
     Entrada.innerHTML = Entrada.innerHTML + `${persona.nombre.toUpperCase()}</br>
     ............................ </br>
     -------------------------------------------------------- </br>
     Cliente : ${persona.nombreCompleto} </br>
     Pelicula: ${persona.pelicula} </br>
     Horario : ${persona.hora} </br>
     Costo   : ${mayor}  (Mayor de edad) </br>
     Asiento : ${persona.asiento} </br>
     -------------------------------------------------------- </br> </br> </br>`

     console.log(`${persona.nombre} es mayor de edad`)
   }else{
     Entrada.innerHTML = Entrada.innerHTML + `${persona.nombre.toUpperCase()}</br>
     ............................ </br>
     --------------------------------------------------------- </br>
     Cliente : ${persona.nombreCompleto} </br>
     Pelicula: ${persona.pelicula} </br>
     Horario : ${persona.hora} </br>
     Costo   : ${menor}  (Menor de edad) </br>
     Asiento : ${persona.asiento} </br>
     --------------------------------------------------------- </br> </br> </br>`

     console.log(`${persona.nombre} es menor de edad`)
   }
 }

 EntradasCine(Fernando)
 EntradasCine(Miguel)
 EntradasCine(Mixi)

Usamos const en “MAYORIA_DE_EDAD” ya que es un valor que no se va a modificar, y como buena practica se escribe en mayúsculas y los espacios se llenan con “_”

const MAYORIA_DE_EDAD = 18;

function esMayorDeEdad(persona) {
  return persona.edad >= MAYORIA_DE_EDAD;
}

function imprimirSiEsMayorDeEdad(persona) {
  if (esMayorDeEdad(persona)) {
    console.log(`${persona.nombre} es mayor de edad`);
  } else {
    console.log(`${persona.nombre} es menor de edad`);
  }
}
var hugo = {
    nombre: 'Hugo',
    edad: 30
}

var edrian = {
    nombre: 'Hugo',
    edad: 11
}

const MAYORIA_DE_EDAD = 18; // Las variables const no se pueden modificar y pueden ser declaradas en MAYUSCULAS por convención.

function esMayorDeEdad(persona) { //Se crea una nueva funcion que nos servira unicamente para identificar si una persona es mayor de edad o no.
    return persona.edad >= MAYORIA_DE_EDAD; // return hace que se detenga la ejecucion y devuelve un valor. // MAYORIA_DE_EDAD es una variable declarada arriba.
}

function imprimirSiEsMayorDeEdad2(persona) {
    if (esMayorDeEdad(persona)) {
        console.log(`${persona.nombre} es mayor de edad`);
    } else {
        console.log(`${persona.nombre} es menor de edad`);
    }
}

imprimirSiEsMayorDeEdad2(hugo);
imprimirSiEsMayorDeEdad2(edrian);```

Escribí este pequeño código para ver si se puede contraer matrimonio, la condición es ser mayor de edad 😄

//  Programa para casarse

var santiago = {
  nombre: 'santiago',
  edad: 18
}

var luz = {
  nombre   : 'Luz',
  edad: 17
}
const MAYORIA_DE_EDAD = 18

//Es una buena practica dividir todo en pequeñas funciones, así el código se entendera
//Además de poder ser más dinamico

function esMayorDeEdad(persona){
    return persona.edad >= MAYORIA_DE_EDAD
}

function imprimirPermisoParaCasarse (persona){
      if (esMayorDeEdad(persona)) {
          console.log(`${persona.nombre} Tine estatus para contraer matrimonio:ACEPTADA`)
      }else{
      console.log(`${persona.nombre} Tine estatus para contraer matrimonio: RECHAZADA`)
      }
}
imprimirPermisoParaCasarse(santiago)
imprimirPermisoParaCasarse(luz)```

Aquí esta:

if (persona.edad <= 18){
    var mayor = "no";
    console.log(`${persona.nombre} ${persona.apellido} tiene ${persona.edad} por lo tanto ${mayor} es mayor de edad`);
  }
  else {
    var mayor = "si";
    console.log(`${persona.nombre} ${persona.apellido} tiene ${persona.edad} por lo tanto ${mayor} es de mayor de edad`);
  }```
var Miguel = {
    nombre: 'Miguel',
    apellido: 'Zabala',
    edad: 20,
    ingeniero: false,
    cocinero: true,
    cantante: false,
    dj: false,
    guitarrista: false,
    drone: false

}

function imprimirSiEsMayorDeEdad (persona){
    var estado = ''
    
    if (persona.edad >= 18){
        estado = 'mayor'
        console.log(`${persona.nombre} tiene ${persona.edad} años y es ${estado} de edad.`)
    } else {
        estado = 'menor'
        console.log(`${persona.nombre} tiene ${persona.edad} años y es ${estado} de edad.`)
    }
}

imprimirSiEsMayorDeEdad(Miguel)

Recomendaciones:

  • Es recomendable no tener números fijos en las funciones, preferiblemente emplear constantes o variables de alcance local que nos permitan modificarlas fácilmente.

  • Una buena práctica a la hora de nombrar una constante es colocar su identificador en mayúsculas cerradas, y si es necesario separar palabras, usar un guión bajo.

Ejemplo:

“MAYOR_DE_EDAD”

  • Cuando desarrollamos una función es preferible realizar una modularización, es decir separar segmentos de códigos con funciones específicas.
var sacha = {
    nombre: 'Sacha',
    apellido: 'Juan',
    edad: 28, 
    ingeniero: false,
    cocinero: false, 
    cantante: true, 
    dj: false, 
    guitarrista: false, 
    drone: true,
    edad: 18
}

var juan = {
    nombre: 'Juan',
    apellido: 'Gomez', 
    edad: 13
}

function imprimirProfeciones(persona){
    console.log(`${persona.nombre} es:`)

    if (persona.ingeniero){
        console.log('Ingenero') 
    }else{
        console.log('No es ingeniero')
    }
    if (persona.cocinero){
        console.log('Cocinero')
    }
    if (persona.dj){
        console.log('dj')
    } 
    if (persona.cantante){
        console.log('Cantante')
    }
    if (persona.guitarrista){
        console.log('Guitarrita')
    }
    if (persona.drone){
        console.log('Piloto de Drones')
    }
    console.log('Su edad es ' +persona.edad)
}

const MAYORIA_DE_EDAD = 18  

function esMayorDeEdad(persona){
    persona.edad >= MAYORIA_DE_EDAD
}

function printMayorEdad(persona){
    if(esMayorDeEdad(persona)){
        console.log(`${persona.nombre} es mayor de edad`) 
    }else {
        console.log(`${persona.nombre} es menor de edad`)
    }
}

printMayorEdad(juan) ```

Excelente clase, los numeros magicos los aprendi por un amigo que me dijo que ponia numeros que solo yo sabia que eran jajaja, desde entonces genero mis constantes 😛

Muy interesante como se desglosa una función.

/*  Apuntes de clase */

const MAYORIA_DE_EDAD = 18;

function esMayorDeEdad(persona){
    return persona.edad >= MAYORIA_DE_EDAD;
}

function imprimirEstatusDeEdad(persona){
    if (esMayorDeEdad(persona)){
        console.log(`${persona.nombre} es mayor de edad`);
    }else {
        console.log(`${persona.nombre} es menor de edad`);
    };
}

imprimirEstatusDeEdad(usuario1);
imprimirEstatusDeEdad(usuario2);```

fantastico ccomo explica este profesor esta increible el curso

Hola, les comparto mi aporte:

Utilice el operador ternario para disminuir la cantidad de código pero utilizando tema de las funciones de esta clase.

Algo que aprendí en programación en otros lenguajes es que como buena práctica es necesario el famoso “divide y vencerás” esto se puede traducir a que dividamos tareas en funciones y después las encadenemos para poder reutilizar código que esa es la utilidad de las funciones.

Por ejemplo, en mi código estoy dando la tarea de comparar si la edad es mayor o no de 18 años para definir si es mayor de edad y en otra función estoy imprimiendo si cierta persona es o no mayor de edad,

Es decir, en la función 1 su tarea es comparar el dato y en la función 2 su tarea es imprimir, así si, en algún otro momento de mi código, se requiere **solamente **comparar la edad ya cuento con una función que solo compara y no tendría que escribir código para otra.

const MAYORIA_DE_EDAD = 18

function esMayorDeEdad(edad){
    return edad >= MAYORIA_DE_EDAD ? 'mayor de edad' : 'menor de edad'
}

function imprimirSiEsMayorDeEdad(persona) {
    return console.log(`${persona.nombre} es: ${esMayorDeEdad(persona.edad)} `)
}

imprimirSiEsMayorDeEdad(eduardo)

Les dejo el código de las comillas invertidas “ALT + 96”

//Reto imprimir si es mayor de edad o no, dependiendo del país.

      var Countries = [
        {
          name: "venezuela",
          adultAge: 18
        },
        {
          name: "peru",
          adultAge: 19
        },
        {
          name: "colombia",
          adultAge: 22
        },
        {
          name: "argentina",
          adultAge: 30
        }
      ];
      var Pedro = {
        name: "Pedro",
        age: 22,
        country: Countries[3].name,
        adultInCountry: Countries[3].adultAge
      };
      var Leonardo = {
        name: "Leonardo",
        age: 20,
        country: Countries[0].name,
        adultInCountry: Countries[0].adultAge
      };

      function isAdult(person) {
        var { adultInCountry } = person;
        return person.age >= adultInCountry;
      }
      function Adult(person) {
        if (isAdult(person)) {
          console.log(`${person.name} es mayor de edad en ${person.country}`);
        } else {
          console.log(`${person.name} no es mayor de edad en ${person.country}`);
        }
      }

      Adult(Pedro);
      Adult(Leonardo);

Así resolví el reto.

const MAYORIA_DE_EDAD = 18;
//Arrow function
const MenorDeEdad =  ({edad}) => edad < MAYORIA_DE_EDAD

function permitirAcceso(persona){
  if (MenorDeEdad(persona)) {
    console.log(`${persona.nombre} no tienes acceso a este portal`);
  }
  else {
    console.log(`${persona.nombre} Bienvenido`);
  }
}

Saludos

Gracias Sacha. voy a buscar mas sobre el tema de return

Yo le agregué la opción de que el mismo usuario pueda ingresar sus datos:

var persona = {
	nombre: prompt('¿Cómo te llamas?'),
	edad: prompt('¿Cuántos años tienes?')
}

function Comprobar (people) {
	var mayorEdad = 18;
	if (people.edad >= mayorEdad) {
		alert(`${people.nombre} es mayor de edad`);
	}
	else {
		alert(`${people.nombre} no es mayor de edad`);
    }
}

Comprobar(persona);
let gabriel = {
	nombre: 'Gabriel',
	edad: 27
}

let daniel = {
	nombre: 'Daniel',
	edad: 17
}

const MAYORIA_DE_EDAD = 18

function isAdult(persona) {
	let { nombre, edad } = persona
	let mensajeMayor = `${nombre} tiene ${edad}, por lo tanto es mayor de edad`
	let mensajeMenor = `${nombre} tiene ${edad}, por lo tanto es menor de edad`

	let mensaje = edad >= MAYORIA_DE_EDAD ? mensajeMayor : mensajeMenor

	console.log(mensaje)
}

isAdult(gabriel)
isAdult(daniel)

var juan = {
  nombre : 'Juan',
  apellido : 'Teixeira',
  edad : 29,
}

function imprimirMayoriaDeEdad(persona) {
  // if (persona.edad >= 18) {
    console.log(`${persona.nombre} ${persona.edad >= 18 ? 'es mayor de edad' : 'no es mayor de edad' } `)
  // }
}

imprimirMayoriaDeEdad(juan)

Según entiendo por el video, return persona.edad >= mayoriaDeEdad es lo mismo que if (persona.edad >= mayoriaDeEdad) {return persona.edad} es correcto?

Esta es otra forma de hacerlo

No fue mucho lo que vimos aca pero de todos modos aca estan los apuntes de esta clase,

FUNCIONES QUE RETORNAN VALORES
Para esta clase se hace el ejemplo con la función condicional de la mayoría de edad.

function imprimirSiEsMayorDeEdad(persona){

    if(persona.edad>=18){
        console.log(`${persona.nombre} es mayor de edad`)
    } else {
        console.log(`${persona.nombre} es menor de edad`)

    }
}

Bien, lo que vamos hacer es ordenar un poco mas, como esta función, es para imprimir, lo que haremos será colocar la función de mayoría de edad aparte, de esta manera.

function esMayorDeEdad(persona){
    return persona.edad>=18
}

function imprimirSiEsMayorDeEdad(persona){

    if(esMayorDeEdad(persona)){
        console.log(`${persona.nombre} es mayor de edad`)
    } else {
        console.log(`${persona.nombre} es menor de edad`)

    }
}

Una cosa que podemos mejorar también es crear una variable que nos indique el numero “18” de manera que;

var MayorDeEdad = 18

function esMayorDeEdad(persona){
    return persona.edad>= MayorDeEdad
}

Ahora la varible deberíamos declararla de una manera diferente, puesto que este numero no va a cambiar, asi que en vez de var deberíamos usar “const” (UNA PRACTICA MUY BUENA ES USAR UNDERSCORES Y MAYUSCULAS PARA DECLARAR NUESTRAS VARIABLES), de manera que;

const MAYORIA_DE_EDAD = 18

function esMayorDeEdad(persona){
return persona.edad>= MAYORIA_DE_EDAD
}

function imprimirSiEsMayorDeEdad(persona){

if(esMayorDeEdad(persona)){
    console.log(`${persona.nombre} es mayor de edad`)
} else {
    console.log(`${persona.nombre} es menor de edad`)

}

}

.

Esta clase nos sirve para acoger y tomar apunte para hacer buenas prácticas.

  • Las funciones que retornan valores la podemos usar para evaluar una condición y así mejorar nuestro código
function esMayorDeEdad(person)
{
   return persona >=18
}

  • Retornará true o false

  • Luego en la función que estamos ejecutando lo haríamos así

function imprimirSiEsMayorDeEdad(person)
{
	if(esMayorDeEdad)
	{
		console.log (`${person.nombre} ${person.apellido} es mayor de edad:`)
	}
	else
	{
		console.log (`${person.nombre} ${person.apellido} no es  mayor de edad:`)

	}
}

Además como otro aspecto a mejorar a la hora de comparación con la edad para comprobar si es mayor de edad, podemos declarar esa variable como constante

const MAYORIA_DE_EDAD=18

Y Como aspecto a considerar las constante se pueden y deben declarar con mayúsculas separadas por un _ y así mantener las buenas prácticas en nuestro código

<code>
var sergio = {
	nombre:'sergio',
	apellido:'paez',
  edad:18
};

functionesMayor(persona){
	if(persona.edad >= 18){
		console.log(`${persona.nombre}${persona.apellido} es mayor de edad`);
		
	}
	else{
		console.log(`${persona.nombre}${persona.apellido} es menor de edad`);
	}
}

function imprimirSiEsMayorDeEdad(persona) {
  persona.edad >= 18
    ? console.log(`${persona.nombre} es mayor de edad`)
    : console.log(`${persona.nombre} es menor de edad`)
}
<var ronal = {
    nombre : "ronal",
    apellido: "aguirre",
    edad: 29,
    ingeniero: true,
    cocinero: false,
    cantante: false,
    dj: false,
    guitarrista: false,
    drones: true,

}

var juan = {
    nombre: "juan",
    apellido: "salazar",
    edad: 13,
}

const MAYORIA_EDAD = 18

function esMayor (persona){

    return persona.edad >= MAYORIA_EDAD

}

function imprimirSiEsMayorDeEdad (persona){

    if (esMayor(persona)){
        console.log(`${persona.nombre} es Mayor de Edad`);
    }else {
        console.log(`${persona.nombre} es Menor de Edad`);
    }
}>

Muy buena explicación

Una de las cosas que más me está gustando del curso, es que si bien ya hice el curso de programación básica, el básico de JS, y había trabajado en algunos proyectos donde vi o usé estos conceptos, en cada clase/video estoy aprendiendo cosas que no sabía. Bien Platzi!

MIS APUNTES:

//Funciones que retornan valores
var natanael = {
   nombre: 'natanael',
   apellido: 'león',
   edad: 30,
   ingeniero: true,
   cocinero: false,
   dj: false,
   drone: true
}
var liam = {
   nombre: 'liam',
   apellido: 'león',
   edad: 3,
 
}
 
function imprimirprofesiones(persona) {
   console.log(`${persona.nombre} es:`)
//si el valor de ingeniero es true no hace falta hacer la comparación "==="
   if (persona.ingeniero) {
       console.log('Ingeniero')
   }else{
       console.log('no es ingeniero')
   }
 
   if (persona.cocinero) {
       console.log('Cocinero')
   }
 
   if (persona.dj){
       console.log('DJ')
   }
 
   if (persona.drone){
       console.log('Vuela dron')
   }
}
/*si es una constante y no varía podemos indicarlo cambiando var por const en vez de var y escribirlo en mayúscula y separarlo por _*/
const MAYORIA_DE_EDAD = 18
//Pequeña función
function esMayorDeEdad(pesona){
   return persona.edad >= MAYORIA_DE_EDAD
}
 
 
function imprimirSiEsMayorEdad (persona){
   console.log(`${ persona.nombre } tiene`)
   //pequeña función invocada
   if (esMayorDeEdad(persona) >= 18) {
       console.log(`${persona.edad} años y es mayor de edad`)
   } else console.log(`${persona.edad} años y es menor de edad`)
}
 
imprimirprofesiones(natanael)
imprimirSiEsMayorEdad(natanael)
imprimirSiEsMayorEdad(liam)

I share my class notes and my task


 /*====================================== */ //Estructuras de control
 var Andres = {
     nombre: 'Andres', 
     apellido: 'Caro',
     edad: 28,
     ingeniero:   true,
     cocinero:   false,
     cantante:   false,
     dj:         false,
     guitarrista:false,
     drone:       true
 }

 var Juana = {
   nombre: 'Juana', 
   apellido: 'DeArco',
   edad: 16,
   ingeniero:   false,
   cocinero:   false,
   cantante:   false,
   dj:         true,
   guitarrista:false,
   drone:       false
}

const MAYORIA_DE_EDAD = 18; // Definimos la edad de mayoria de Colombia, usamos const para declarar que es un numero fijo

 
/*====================================== */ //Funciones que retornan valores función de comparación


function esMayorDeEdad(persona){
   return persona.edad >= MAYORIA_DE_EDAD
}

/*====================================== */ //Funciones que retornan valores función de imprimir

function ImprimirMayoriaDeEdad (persona){
    
    if (esMayorDeEdad(persona ) >= 18){
        console.log(`${persona.nombre} Es Mayor de edad`)
    }else {
        console.log(`${persona.nombre} No es mayor de edad`)
    }
}

ImprimirMayoriaDeEdad(Andres);
ImprimirMayoriaDeEdad(Juana);

no se si me pasa solo a mi pero, las bases en todos los lenguajes se parecen mucho, lo cual hace un poco monótono aprender un lenguaje nuevo.

estoy viendo el curso, desde la nueva app de platzi. cool!

WoW es no lo sabia un funcion dentro de otra funcion.

Este es un gran ejemplo para usar funciones dentro de otras funciones!

Hola amigos, este es mi codigo de esta sección, tienen alguna sugerencia para optimizarlo? gracias y saludos !!

var adrian = {
    nombre : 'Adrian',
    apellido : 'Tapia',
    edad : 25,
}

var valentina = {
    nombre : 'Valentina',
    apellido : 'Gonzalez',
    edad : 17,
}


const MAYORIA_DE_EDAD = 18

function esMayorDeEdad(persona){
    return persona.edad >= MAYORIA_DE_EDAD
}


function siEsMayorDeEdad(persona){
    console.log(`${persona.nombre} ` + `${persona.apellido} es mayor de edad :`)

    if (esMayorDeEdad(persona)){
        console.log('SI y tiene :' + persona.edad + ' años.')

    } else {
        console.log('No es mayor de edad, porque tiene : ' + persona.edad + ' años.')
    }
}

siEsMayorDeEdad(adrian)
siEsMayorDeEdad(valentina)```

Hola tengo una duda, return para la función y guarda lo que retornemos para cuando llamemos a la función ? o hace otra cosa, gracias

Este es mi ejercicio.

var carlos = {
  nombre: 'Carlos',
  edad: 30,
}

function mayorEdad(persona) {
  console.log(`${persona.nombre} es: ${persona.edad >= 18 ? 'mayor de edad' : 'es menor de edad'}`)
}

mayorEdad(carlos)

function multipleRetrur(numero) {

var resto=numero%2
if(resto==0)
return 0
else

return numero

}

Hola, no me ha quedado muy claro para que se usa return en una función, y he buscado en otros lados, pero mi cerebro nada mas no lo procesa, HELP!

El reto :3

function imprimirSiEsMayorDeEdad(persona){
    //felipe es mayor de edad
    //felipe es menor de edad
    if(persona.edad >= 18){
        console.log(`El joven ${persona.nombre} tiene ${persona.edad} por lo tanto es:`)
        console.log('Mayor de edad')
    }
    else{
        console.log(`El joven ${persona.nombre} tiene ${persona.edad} por lo tanto es:`)
        console.log(`Es menor de Edad`)
    }
}

imprimirSiEsMayorDeEdad(felipe)```

excelente como vamos cosntruyendo

gracias por tu aporte muy interesante

const MAYOR_DE_EDAD = 18;

function esMayorDeEdad(person){
    return person.age >= MAYOR_DE_EDAD;
};

function imprimirMayorDeEdad(person){
    if(esMayorDeEdad(person)){
        console.log(`${person.name} tiene ${person.age} por lo tanto es mayor de edad`);
    }else{
        console.log(`${person.name} tiene ${person.age} por lo tanto es menor de edad`);
    }
};

imprimirMayorDeEdad(martin);
imprimirMayorDeEdad(ana); 

Esta es una forma de declarar funciones mas legibles.

const mayoria_de_edad = 18

		function esMayor({edad}) {
			return edad >=  mayoria_de_edad
		}

		var sergio = { nombre: 'sergio', edad: 19 }

		function imprimirEsMayorDeEdad({ nombre, edad }) {
			if (esMayor({edad})) {
				console.log(`${nombre} tiene ${edad} años, es mayor de edad `)
			} else {
				console.log(`${nombre} tiene ${edad} años, es menor de edad `)
			}
		}

		imprimirEsMayorDeEdad(sergio)
const MAYORIA_DE_EDAD = 18;

function esMayorDeEdad(persona)
{
 return persona.edad >= MAYORIA_DE_EDAD;
}

function imprimirMayorEdad(persona)
{
  if(esMayorDeEdad(persona))
  {
   console.log(`${persona.nombre} es mayor de edad, ya que tiene ${persona.edad}`)
  }
  else
  {
   console.log(`Lo siento, ${persona.nombre} no es mayor de edad, solo tiene ${persona.edad}`)
  }
}

imprimirMayorEdad(anthony);
imprimirMayorEdad(cesar);
function comprobarEdadShort(persona) {
    var shortCheck = (persona.edad >= 18) ? console.log(`${persona.nombre} es mayor de edad`) : console.log(`${persona.nombre} es menor de edad `);
}


Esta es la estructura de acuerdo a la clase…

var felipe = {
    nombre: 'Felipe',
    apellido: 'Alvarez',
    edad: 35,
    ingeniero: true,
    cocinero: false,
    cantante: false,
    dj: false,
    drone: true,
    loco:true
}

var veron = {
    nombre: 'Veron',
    apellido: 'Cardinski',
    edad: 16
};

const MAYORIA_EDAD = 18;

function esMayordeEdad(persona){
    return persona.edad >= MAYORIA_EDAD
}

function imprimirSiEsMayorDeEdad(persona){
    console.log(`${persona.nombre} tiene: ${persona.edad} años`);
    if(esMayordeEdad(persona)){
        console.log('Por lo cual es mayor de edad')
    }else{
        console.log('Por lo cual es menor de edad')
    }
}
<code>let leo = {
   nombre: "Leo",
   apellido: "Pesina",
   edad: 29,
   ingeniero: true,
   cocinero: true,
   alto: true,
   guapo: false, 
   rico: false,
   ssj: false,
}

let daniel = {
    nombre:'Dani',
    apellido: 'Daniel',
    edad: 17
}

const MAYOR_EDAD = 21; //Esta es edad legal internacionalmente 

function legalAge (user) {                
    return user.edad >= MAYOR_EDAD;
}

function ifLegalAge (user){
    if (legalAge(user)) {
        console.log(`${user.nombre} es mayor de edad`);
    }
    else {
        console.log(`${user.nombre} no es mayor de edad`); 
    }
}

ifLegalAge(leo);
ifLegalAge(daniel);
<const MAYORIA_DE_EDAD = 18;

function esMayorDeEdad(persona){
    return persona.edad >= MAYORIA_DE_EDAD;
}

function imprimirSiEsMayorDeEdad(persona) {
    if (esMayorDeEdad(persona)){
        console.log(`${persona.nombre} es mayor de edad`);
    }else{
        console.log(`${persona.nombre} es menor de edad`);
    }
}



imprimirSiEsMayorDeEdad(jesus);
esMayorDeEdad(jesus)>

mis aportes !! suerte a todos

var sacha = {
nombre: “sacha”,
apellido:“liztif”,
edad:24,
ingeniero: true,
cocinero: false,
cantante: false,
dj: false,
pianista: false,
drone: true

}

function imprimirProfesiones(persona){

console.log("${persona.nombre} es:")

if (persona.nombre){
    console.log("ingeniero")
}

if (persona.coninero){
    console.log("cocinero")
}

if (persona.cantante){
    console.log("cantante")
}
if (persona.cantante){
    console.log("cantante")
}
if (persona.dj){
    console.log("dj")
}
if (persona.drone){
    console.log("drone")
}

var mayoriaDeEdad = 18

    function esMayorDeEdad(persona){
        return persona.edad >= mayoriaDeEdad
    }

 function imprimirSiEsMayorDeEdad(persona){

  if (persona.edad > 18){
     console.log('{persona.nombre} es mayor de edad')
 } else{
     console.log('{persona.nombre} es manor de edad')
 }
}

}

dos puntos por terminar de ver el video :v

Excelente clase. Me pareció muy interesante que la condicional venga directamente de otra función. 🙂

Como crear 2 funciones que hacen lo que una sola función hacía puede ser mejor si no es más eficiente? Entiendo que es más legible para nosotros el código… pero terminan siendo más líneas de código para leer por el navegador. (hablo de este caso y no de otros que pueden ser más obvios y necesarios)

No tan claro el concepto pero espero practicarlo y entenderlo mejor.

Con la practica, todo es mejor, excelente!

var carlos = {
   edad:28,
   nombre: "carlos"
 }

var juan = {
  edad:10,
  nombre: "juan"
}

function imprimirEdad(persona) {
  if (persona.edad >= 18 ) {
    console.log( persona.nombre + " ya eres mayor de edad");
  }

  else {
    console.log(persona.nombre + " aun no eres mayor de edad");
  }
}

imprimirEdad(juan)
imprimirEdad(carlos)

Entendido 😃

Me gusta que explique las buenas practicas como que una funcion solo se encargue de UNA tarea, no se que nombre se aplica a estas practicas pero son muy buenas.

mi codigo

let sacha = {
    nombre : "sacha",
    edad : 18
};

const MAYORIA_DE_EDAD = 18

function esMayorDeEdad(persona){
  return  persona.edad >= MAYORIA_DE_EDAD
};

function imprimirSiEsMayorDeEdad(persona){
    if(esMayorDeEdad(persona)){
        console.log(`${persona.nombre} es mayor de edad`)
    }else{
        console.log(`${persona.nombre} no es mayor de edad`)
    }
};

imprimirSiEsMayorDeEdad(sacha);```
const MAYORIA_EDAD = 18

function mayorEdad(edad) {
  return edad >= MAYORIA_EDAD
}

function mostrarMayorEdad({nombre, edad}) {
  if (mayorEdad(edad)) {
    console.log(`${nombre} es mayor de edad`);
  } else {
    console.log(`${nombre} es menor de edad`);
  }
}

buenas,cuando reconozco que es constante??

Excelente!

function imprimirSiEsMayorDeEdad(persona) {

if (persona.edad >= 18) {
    console.log(`${persona.nombre} es mayor de edad en Chile`)
} else {
    console.log(`${persona.nombre} es menor de edad en Chile`)
}

}

imprimirProfesiones(fabian)

imprimirSiEsMayorDeEdad(fabian)

// ESTRUCTURAS DE CONTROL EN JAVA SCRIPT

// 1.- CONDICIONALES
// CREAR OBJETOS
// caracteristicas de las personas
var datosAndres = {
nombre : ‘Meyer’,
apellido: ‘Junnior’,
edad : 17,
ingeniero: true,
cocinero: false,
cantante: true,
dj: false,
drone: false
}

var datosTefa = {
nombre : ‘Tefa’,
apellido: ‘Diaz’,
edad : 19,
ingeniero: true,
cocinero: true,
cantante: true,
dj: false,
drone: false
}

// Definimos funcion que profesion
// tiene la persona
function imprimirProfesiones(persona){
console.log(${persona.nombre} es:)

if (persona.ingeniero){
    console.log('Ingeniero')
} else{
    console.log('No es Ingeniero')
}

if (persona.cocinero){
    console.log('Cocinero')
} else{
    console.log('No es Cocinero')
}

if (persona.cantante){
    console.log('Cantante')
}else{
    console.log('No es Cantante')
}

if (persona.dj){
    console.log('Es Dj')
} else{
    console.log('No es DJ')
}

if (persona.drone){ 
    console.log('Piloto de Drones')
}else{
    console.log('No es Piloto de drones')
}

if (persona.edad >= 18){
    console.log(`${persona.nombre}  es mayor de edad y tiene ${persona.edad} años`) 
}else{
    console.log(`${persona.nombre}  es menor de edad y tiene ${persona.edad} años`)
}

}
console.log(‘DATOS RETO SACHA’)
console.log(‘DATOS ANDRES’)
imprimirProfesiones(datosAndres)
console.log(’’)
console.log(‘DATOS TEFA’)
imprimirProfesiones(datosTefa)

Una función solo debe de realizar un único proceso

RESUMEN:
En esta clase vimos la forma de trabajar con funciones que retornan valores que podemos usar en otras funciones.

// Desglosar funciones en funciones más pequeñas. ¿Qué ventajs tiene?

function Geometria(elemento){
    return elemento.geometria === true  
}

function imprimirPropiedadesGeo(elemento){
    console.log(`${elemento.nombre_elemento} es : `)
    if (Geometria(elemento)){// Puedo llamar el resultado de la función Geomtría como condicional en esta función
        console.log('Tetrahedrico');
    }else{
        console.log('No tiene dimensiones');
    }
}

imprimirPropiedadesGeo(carbono)

// las constantes se declaran mediante const por buenas convenciones se trabjaa todo en mayúsuclas.

const carbono ={
    //Key______________//Value 
    nombre_elemento: "Carbono",
    numero_atomico:12,
    configuracion_electronica: '4p-6',
    categoria: "Sólido",
    usos:"la vida misma como la conocemos.",
    agotado: false,
    geometria: true
}

añadirProtones(carbono) // Invoco la función para el elemento deseado
console.log(carbono.numero_atomico)// El nuevo número  de protones será 13

function añadirProtones (elemento) {
   
    elemento.numero_atomico+=1;
    console.log(elemento.numero_atomico) // Me sumará el protón y lo conservará

}
var persona1={
    nombre:"Gonzalo",
    apellido:"Reyes",
    edad:20,
}
var persona2={
    nombre:"Mara",
    apellido:"Reyes",
    edad:5,
}
const mayor_de_edad = 18;

function mayoriaEdad(personas)
{
    return personas.edad < mayor_de_edad;
}

function imprimirMayorDeEdad(personas)
{
   if(mayoriaEdad(personas))
   {
       console.log('Es menor de edad');
   }
   else
   {
       console.log("Es mayor de edad");
   }
}

imprimirMayorDeEdad(persona1);
imprimirMayorDeEdad(persona2);```
<var daniel = {
    nombre: "daniel",
    edad: 18,
    sexo: "Masculino",
    guitarrista: true,
    estudiante: true,
    cantante: false,
    cocinero: false
}
var camila = {
    nombre: "camila",
    edad: 10,
    sexo: "Femenino",
}
const MAYORIA_DE_EDAD = 18;

function SiEsMayorDeEdad(persona) {
    return persona.edad < MAYORIA_DE_EDAD
}
function ImprimeSiEsMayorDeEdad(persona) {
    if(SiEsMayorDeEdad(persona)) {
        console.log(`${persona.nombre} es menor de edad`)
    }else {
        console.log(`${persona.nombre} es mayor de edad`)
    }
}
ImprimeSiEsMayorDeEdad(daniel)
ImprimeSiEsMayorDeEdad(camila)

>

Buena clase!

Excelente, vamos muy bien.

const MAYORIA_DE_EDAD = 18

// para definir una variable que en vez de variable sea constante usamos “CONST”

function esMayorDeEdad(persona){
return persona.edad >= MAYORIA_DE_EDAD
}
function puedoVotar(persona, años){
if(esMayorDeEdad(persona)) {

    console.log(`Hola tienes ${persona.edad} asi que puedes votar.!`)
}
else{
    años = 18 - persona.edad
    console.log(`Lo lamento, tienes ${persona.edad} años, te falta ${años} años para votar.`)
}

}

Resumen Clase: lo mejor de las funciones es desglosarlas en funciones mas pequeñas, y estas funciones mas pequeñas no regresan valores que nos interesan y ocupamos.

. Magic numbre es un valor numérico que eta fijo en el código, para entender sobre que se usa y se base se tiene que entender muy bien la funcionalidad de las funciones que lo utilizan. Las variables constantes de deben escribir en mayúsculas y separadas con guion bajo “_”.