CursosEmpresasBlogLiveConfPrecios

Proyecto: Obtener el valor de los inputs

Clase 6 de 23 • Curso de Programación Funcional en JavaScript por Bedu

Clase anteriorSiguiente clase

Contenido del curso

Introducción al curso y conceptos base

  • 1
    Qué aprenderás sobre la programación funcional

    Qué aprenderás sobre la programación funcional

    01:57 min
  • 2
    Programación funcional: qué es

    Programación funcional: qué es

    00:15 min
  • 3
    Boilerplate: Base para el proyecto del curso

    Boilerplate: Base para el proyecto del curso

    02:16 min

Funciones

  • 4
    Funciones Algebraicas y Funciones de JavaScript

    Funciones Algebraicas y Funciones de JavaScript

    02:49 min
  • 5
    Qué son funciones puras

    Qué son funciones puras

    02:45 min
  • 6
    Proyecto: Obtener el valor de los inputs

    Proyecto: Obtener el valor de los inputs

    Viendo ahora
  • 7
    Objetos y Tipos de Memoria en JavaScript

    Objetos y Tipos de Memoria en JavaScript

    04:31 min
  • 8
    Copiar y modificar objetos en JavaScript

    Copiar y modificar objetos en JavaScript

    09:49 min
  • 9
    Utilizando inmutabilidad en nuestras funciones

    Utilizando inmutabilidad en nuestras funciones

    03:49 min
  • 10
    Proyecto: Validar inputs

    Proyecto: Validar inputs

    07:38 min

Estado compartido en funciones

  • 11
    Estado compartido o shared state

    Estado compartido o shared state

    06:24 min
  • 12
    Proyecto: Agregar elementos a la lista

    Proyecto: Agregar elementos a la lista

    05:36 min

Composición de funciones, Closures y Currying

  • 13
    Funciones compuestas o Function Composition

    Funciones compuestas o Function Composition

    09:34 min
  • 14
    Completando las funciones para generar etiquetas HTML

    Completando las funciones para generar etiquetas HTML

    06:14 min
  • 15
    Closures en programación funcional

    Closures en programación funcional

    02:56 min
  • 16
    Currying

    Currying

    03:14 min
  • 17
    Proyecto: Construyendo filas y celdas

    Proyecto: Construyendo filas y celdas

    03:45 min

Higher Order Functions

  • 18
    Introducción a las Higher Order Functions

    Introducción a las Higher Order Functions

    04:11 min
  • 19
    Proyecto: Actualizando el total de calorías

    Proyecto: Actualizando el total de calorías

    05:32 min
  • 20
    Proyecto: Mostrar elementos

    Proyecto: Mostrar elementos

    03:36 min
  • 21
    Proyecto: Eliminar elementos

    Proyecto: Eliminar elementos

    09:45 min

Bonus: Declarative Programming

  • 22
    Programación Declarativa

    Programación Declarativa

    06:30 min

Conclusiones

  • 23
    Conclusiones

    Conclusiones

    01:30 min
Tomar examen
    Eliseo Geraldo González

    Eliseo Geraldo González

    student•
    hace 7 años

    Los IDs de los elementos HTML están registrados como variables gloables, esto NO es un beta, está respaldado por el standard de HTML 5.

    <div> <input id="$carbs" value="340"> </div>

    Luego podemos acceder al elementos simplemente escribiendo el ID en la terminal o en JavaScript.

    console.log($carbs.value) // => 340

    No hay necesidad de selectores para IDs.

      Juan Reyes

      Juan Reyes

      student•
      hace 7 años

      Buen dato. No conocía esta manera de acceder a los elementos.

      Carlos Gómez Mont

      Carlos Gómez Mont

      student•
      hace 7 años

      Gracias por compartir, saludos!!

    Miguel Gil Rosas

    Miguel Gil Rosas

    student•
    hace 7 años

    Es un poquito triste que en un curso de programación funcional en los tiempos que corren se use jQuery para acceder a los elementos del DOM. Entiendo que si usas Bootstrap ya te lo tienes que traer pero aún así… 😦

      Victor Lozada

      Victor Lozada

      student•
      hace 7 años

      Opino lo mismo !

      Bryan Estiven Silva Mercado

      Bryan Estiven Silva Mercado

      student•
      hace 7 años

      sin dudas

    Jorge Méndez Ortega

    Jorge Méndez Ortega

    student•
    hace 7 años

    No megusta usar jQuery entiendo que por facilidad y practicidad se utilize pero en caso estoy utilizando JS puro por lo que el codigo queda de la siguiente manera.

    const compose = (...functions) => data => functions.reduceRight((value, func) => func(value), data) const $DESCRIPTION = document.getElementById("description"); const $CALORIAS = document.getElementById("calorias"); const $CARBOIDRATOS = document.getElementById("carboidratos"); const $PROTEINAS = document.getElementById("proteinas");

    Nota: Como una buena práctica estoy utilizando el signo $ para identificar de manera más fácil las referencias al DOM.

    Como se muestra en la imagen al igual que con jQuery puedo tener acceso a las propiedades del los inputs, por cierto en ves de utilizar document.getElementById("calorias"); podria a ver utilizado document.querySelector("#calorias");

    Captura de pantalla 2019-03-17 a la(s) 20.41.05.png
    Emanuel Alejandro Mamani

    Emanuel Alejandro Mamani

    student•
    hace 6 años

    yo lo hice de la siguente manera, espero que les ayude

    const data = { 'description': document.getElementById('description').value, 'calories': document.getElementById('calories').value, 'carbs': document.getElementById('carbs').value, 'protein': document.getElementById('protein').value }
      Carlos Enrique Ramírez Flores

      Carlos Enrique Ramírez Flores

      student•
      hace 6 años

      Bien!! gracias!

    Gledy Johana Chuquihuanga Abad

    Gledy Johana Chuquihuanga Abad

    student•
    hace 7 años

    let inputs = document.getElementsByTagName(‘input’)

    let {
    desc,
    cal,
    carb,
    prote } = inputs

      Diego Esteban Cortés Escandón

      Diego Esteban Cortés Escandón

      student•
      hace 7 años

      let { description, calories, carbohydrates, protein } = document.getElementsByTagName(‘input’);

      sería mejor, ya que inputs lo estas guardando en memoria y es innecesario

      leonardo Oteca

      leonardo Oteca

      student•
      hace 7 años

      Wow! que buena jugada, la voy a implementar

    Juan Esteban Galvis

    Juan Esteban Galvis

    student•
    hace 6 años

    JQuery ya no se usa, dejo el código de la clase en JavaScript Vanilla:

    // VARIABLES DE LOS INPUTS let Description = document.getElementById('Descripcion'); let Calories = document.getElementById('Calorias'); let Carbs = document.getElementById('Carbs'); let Proteinas = document.getElementById('Protein'); // VALORES DE LOS INPUTS Description.value; Calories.value; Carbs.value; Proteinas.value;

    Curso para pasar de JQuery a JavaScript: https://platzi.com/cursos/jquery-js/

    Bryan Estiven Silva Mercado

    Bryan Estiven Silva Mercado

    student•
    hace 7 años

    me hubiera gustado que se use JS puro en el proyecto

    Diego Antonio Gomez Diaz

    Diego Antonio Gomez Diaz

    student•
    hace 7 años

    Porque no definir las variables como const (Para que sean inmutables)?

      Erik Elyager

      Erik Elyager

      student•
      hace 7 años

      Concuerdo, yo las hubiera definido como const, incluso por costrumbre en JQuery antepongo el '$' para saber que son elementos del DOM.

      const $description = $('#description')

      No hay ningun problema con usar let, pero si creo que son elementos que dificilmente vamos a necesitar que cambien y por eso conviene usar const.

      David Colin

      David Colin

      teacher•
      hace 7 años

      Declarar objetos con const no los hace inmutables:

      const post = { title: "Some Title" } post.title = "New Title" console.log(post.title) // "New Title"
    Alejandro Saucedo

    Alejandro Saucedo

    student•
    hace 7 años

    document.querySelector(’#carbs’)

    Juan Pablo Castro

    Juan Pablo Castro

    student•
    hace 6 años

    js

    const $Calories = document.getElementById ("Calories"); const $description = document.getElementById ("description"); const $carbs = document.getElementById ("carbs"); const $Protein = document.getElementById ("Protein"); console.log (`Calories: ${$Calories.value}`);``` html
    <input type="text" class="form-control mb-2 mr-sm-2" placeholder="Description" id= "Description"> </div> <div class="col"> <input type="number" min="0" class="form-control mb-2 mr-sm-2" placeholder="Calories" id= "Calories"> </div> <div class="col"> <input type="number" min="0" class="form-control mb-2 mr-sm-2" placeholder="Carbs" id= "carbs"> </div> <div class="col"> <input type="number" min="0" class="form-control mb-2 mr-sm-2" placeholder="Protein" id= "Protein"> </div>```
    Ever Alfredo Sorto Ayala

    Ever Alfredo Sorto Ayala

    student•
    hace 5 años

    const $DESC = document.getElementById('description'); const $CALORIES = document.getElementById('calories'); const $CARBS = document.getElementById('carbs'); const $PROTEIN = document.getElementById('protein');

    por que se antepone el signo de dolar a las variables ?

      Rafael Alejandro Santos Trujillo

      Rafael Alejandro Santos Trujillo

      student•
      hace 5 años

      A '$' en una variable no significa nada especial para el intérprete, al igual que un guión bajo.

      Por lo que he visto, muchas personas que utilizan jQuery (que es lo que su código de ejemplo se parece a mí) tienden el prefijo variables que contienen un objeto jQuery con un $ para que se identifican con facilidad y no mezcladas con, por ejemplo, los números enteros.

      La función signo de dólar $() en jQuery es una función de biblioteca que se utiliza con frecuencia, por lo que un nombre corto es deseable.

    CARLOS LEIVA

    CARLOS LEIVA

    student•
    hace 4 años

    pero no explica la parte del codigo: const compose = (...function) => data => functions.reduceRight() => func(value), data)

    para que son los tres puntos (... ) ? para que es la flecha con el igual. => ? por que llama doblemente a la funcion, ? para que es el func , ? es que esto lo enreda a uno, y toca es adivinar.

      David Colin

      David Colin

      teacher•
      hace 3 años

      Hola Carlos! Los tres puntos se conocen como Sintaxis Spread

    José Cortés Molina

    José Cortés Molina

    student•
    hace 5 años

    Comparto mi codigo usando vanilla JS

    let descripcion = document.getElementById("descripcion"); let calories = document.getElementById("calories"); let carbs = document.getElementById("carbs"); let protein = document.getElementById("protein");
      Cristian Blandon

      Cristian Blandon

      student•
      hace 5 años

      Hola :) No olvides poner tus aportes en la sección de "Aportes" para que tengan mucha más visibilidad de acuerdo a su utilidad.

      ¡Saludos!

    José Alberto Ramírez Quiroz

    José Alberto Ramírez Quiroz

    student•
    hace 4 años

    En 2022 y durante el transcurso del curso no usare nada de Jquery desarrollare el programa con API Web actuales para el manejo del DOM esto como reto personal para tambien practicar mi manejo del DOM por lo que recomiendo lo mismo

      Markin Piero Pulache Guarniz

      Markin Piero Pulache Guarniz

      student•
      hace 2 años

      muy bien

    José Alberto Ramírez Quiroz

    José Alberto Ramírez Quiroz

    student•
    hace 4 años

    Lo hecho en esta clase con el Js actual podemos tener solo un apuntador (CONST) y separar las variables mediante comas por cuestiones de demostrar la sustitucion de JQuery use querySelector pero en la practica es mejor usar getElementById ya que el navegador lo renderiza mucho mas rapido

    const $description = document.querySelector("#description").value, $calories = document.querySelector("#calories").value, $carbs = document.querySelector("#carbs").value, $protein = document.querySelector("#protein").value;
    José Alberto Ramírez Quiroz

    José Alberto Ramírez Quiroz

    student•
    hace 4 años

    En las ultimas actualizacion de Vanilla Js, ya no es necesario el uso de JQuery para trabajar con el DOM, podemos utilizar el seleccionador de esta forma

    document.querySelector("#description").value //Guardado en variable const description = document.querySelector("#description").value;
    Noe Mikhael Huaccharaque Ruiz

    Noe Mikhael Huaccharaque Ruiz

    student•
    hace 7 años

    Jquery Vs. VanillaJs
    $(’#description’) Vs. document.getElementById(‘description’)

      Nathaly Stefani Riaño Bejarano

      Nathaly Stefani Riaño Bejarano

      student•
      hace 7 años

      Para obtener el valor con VanillaJS:

      let description = document.getElementById('description') console.log(description.value)
      Andres Rivera

      Andres Rivera

      student•
      hace 6 años

      ¿esto también es vanilla: document.querySelector('#descripcion') ?

    Francisco Garcia [C6]

    Francisco Garcia [C6]

    student•
    hace 6 años

    Listo

    Manuel Rivera

    Manuel Rivera

    student•
    hace 6 años
    const $description = document.querySelector('#description'); const $carbs = document.querySelector('#description'); const $calories = document.querySelector('#description'); const $protein = document.querySelector('#description');```
    Jorge Méndez Ortega

    Jorge Méndez Ortega

    student•
    hace 5 años

    Este curso ya tiene tiempo que lo tome, pero se me parecio interesante aplicarlo utilizando TypeScript, ya que seria bueno para iniciar a practicar

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads