CursosEmpresasBlogLiveConfPrecios

Playground: permiso para conducir

Clase 25 de 30 • Curso Básico de JavaScript

Contenido del curso

Introducción a JavaScript

  • 1
    ¿Qué es JavaScript y para qué sirve?

    ¿Qué es JavaScript y para qué sirve?

    12:38 min
  • 2
    Accede a la versión más actualizada de este contenido

    Accede a la versión más actualizada de este contenido

    00:15 min
  • 3
    ¿Por qué JavaScript?

    ¿Por qué JavaScript?

    03:32 min
  • 4
    Elementos de un Lenguaje de Programación: Variables, Funciones y Sintaxis

    Elementos de un Lenguaje de Programación: Variables, Funciones y Sintaxis

    12:45 min
  • 5
    ¿Qué es una variable?

    ¿Qué es una variable?

    09:57 min
  • 6
    Qué son las funciones en JavaScript

    Qué son las funciones en JavaScript

    14:34 min
  • 7
    ¿Qué es una función declarativa y una expresiva?

    ¿Qué es una función declarativa y una expresiva?

    00:44 min
  • 8
    Playground: retorna el tipo

    Playground: retorna el tipo

Bases de JavaScript

  • 9
    Scope

    Scope

    07:08 min
  • 10
    Hoisting

    Hoisting

    14:01 min
  • 11
    Coerción

    Coerción

    09:00 min
  • 12
    Valores: Truthy y Falsy

    Valores: Truthy y Falsy

    05:01 min
  • 13
    Operadores: Asignación, Comparación y Aritméticos.

    Operadores: Asignación, Comparación y Aritméticos.

    09:39 min
  • 14
    Playground: compara un número secreto

    Playground: compara un número secreto

Condicionales

  • 15
    Condicionales: If, Else, else if

    Condicionales: If, Else, else if

    14:33 min
  • 16
    Switch

    Switch

    06:53 min
  • 17
    Playground: tienda de tecnología

    Playground: tienda de tecnología

Arrays

  • 18
    ¿Qué es un array?

    ¿Qué es un array?

    16:08 min
  • 19
    Playground: detecta el elemento impostor de un array

    Playground: detecta el elemento impostor de un array

Loops

  • 20
    Loops: For y For...of

    Loops: For y For...of

    12:02 min
  • 21
    Loops: While

    Loops: While

    05:17 min
  • 22
    Playground: rescata al estudiante

    Playground: rescata al estudiante

Objects

  • 23
    Objects

    Objects

    10:03 min
  • 24
    Objects: Función constructora

    Objects: Función constructora

    10:02 min
  • 25
    Playground: permiso para conducir

    Playground: permiso para conducir

    Viendo ahora

Métodos de Arrays

  • 26
    Métodos de recorridos de Arrays

    Métodos de recorridos de Arrays

    09:07 min
  • 27
    Recorriendo Arrays con .find(), .forEach() y .some()

    Recorriendo Arrays con .find(), .forEach() y .some()

    08:59 min
  • 28
    Eliminando elementos de un Array

    Eliminando elementos de un Array

    01:05 min
  • 29
    Playground: Arregla el Bug

    Playground: Arregla el Bug

Próximos pasos con JavaScript

  • 30
    Continúa con el Curso Práctico de JavaScript

    Continúa con el Curso Práctico de JavaScript

    01:19 min
Tomar examen

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

      Comentarios

      Leidy Vargas

      Leidy Vargas

      student•
      hace 4 años
        Federico Escobar

        Federico Escobar

        student•
        hace 3 años
        Luis Fernando Pedroza Taborda

        Luis Fernando Pedroza Taborda

        student•
        hace 3 años
      luis quispe

      luis quispe

      student•
      hace 4 años
        Jhovani Aguirre

        Jhovani Aguirre

        student•
        hace 4 años
        Jorge Luis Santiago Canto

        Jorge Luis Santiago Canto

        student•
        hace 3 años
      Carlos Enrique Parra Chávez

      Carlos Enrique Parra Chávez

      student•
      hace 3 años
        Frandel Corporan Rodríguez

        Frandel Corporan Rodríguez

        student•
        hace 3 años
        Juan david Cordoba

        Juan david Cordoba

        student•
        hace 3 años
      Juan Montecinos

      Juan Montecinos

      student•
      hace 4 años
        Jasubi Piñeyro Legaspi

        Jasubi Piñeyro Legaspi

        student•
        hace 4 años
        Luciano Vitanza

        Luciano Vitanza

        student•
        hace 4 años
      Manuel Alejandro Murillo Vásquez

      Manuel Alejandro Murillo Vásquez

      student•
      hace 4 años
        Caleb GLM

        Caleb GLM

        student•
        hace 3 años
        Randall Marquez Cuevas

        Randall Marquez Cuevas

        student•
        hace 3 años
      Andrés Hernández Escutia

      Andrés Hernández Escutia

      student•
      hace 3 años
        Ulises Gutierrez Gutierrez

        Ulises Gutierrez Gutierrez

        student•
        hace 3 años
        victor manuel niño murillo

        victor manuel niño murillo

        student•
        hace 3 años
      Andrea Bustos

      Andrea Bustos

      student•
      hace 4 años
      Yulieth Perez

      Yulieth Perez

      student•
      hace 3 años
        Roy Moya Ramos

        Roy Moya Ramos

        student•
        hace 3 años
        german david lopez orozco

        german david lopez orozco

        student•
        hace 3 años
      Daniel Merchán Cáceres

      Daniel Merchán Cáceres

      student•
      hace 3 años
        Jesus Eduardo Castillo Saavedra

        Jesus Eduardo Castillo Saavedra

        student•
        hace 3 años
      Samuel J. García

      Samuel J. García

      student•
      hace 3 años
      Brayan Alexis Fajardo Ortiz

      Brayan Alexis Fajardo Ortiz

      student•
      hace 4 años
        Mario Eduardo Torres Perez

        Mario Eduardo Torres Perez

        student•
        hace 3 años
      EDISON Liberato Mendoza

      EDISON Liberato Mendoza

      student•
      hace 2 años
      Alejandro Castro

      Alejandro Castro

      student•
      hace 4 años
      Jaime Lara

      Jaime Lara

      student•
      hace 3 años
        Cristian Camilo Rojas Capera

        Cristian Camilo Rojas Capera

        student•
        hace 3 años
      Frank Paul Gutiérrez Cruz

      Frank Paul Gutiérrez Cruz

      student•
      hace 3 años
        Ortelio Hernández Viñas

        Ortelio Hernández Viñas

        student•
        hace 3 años
        Nicolás Peralta Páez

        Nicolás Peralta Páez

        student•
        hace 3 años
      Diego Rueda

      Diego Rueda

      student•
      hace 3 años
      Victor Marcano

      Victor Marcano

      student•
      hace 3 años
        Gianfranco Gosdinski

        Gianfranco Gosdinski

        student•
        hace 3 años
      Julián Andrés Argüello

      Julián Andrés Argüello

      student•
      hace 3 años
      Diego Fernando Merchán Jimenez

      Diego Fernando Merchán Jimenez

      student•
      hace 3 años
      Jose Noe Castellanos Trejo

      Jose Noe Castellanos Trejo

      student•
      hace 3 años
        Enyell Duarte

        Enyell Duarte

        student•
        hace 3 años

      Mi aporte <3

      function solution(car) { if (car.licensePlate === null || car.licensePlate === undefined) { car.drivingLicense = false; } else { car.drivingLicense = true; } return car; }

      Lo hice muy parecido y me salio bien!!

      Interesante, te quedo super.

      quien en el 29/10/2022 holaaaaaaaaaaaaaa

      Yo merengues

      Buenas :D

      :D

      export function solution(car) { car.drivingLicense = Boolean(car.licensePlate); return car; }

      el tuyo me gusto que crack

      muy bueno.

      export function solution(car) { if (car.licensePlate) { car.drivingLicense = true; } else { car.drivingLicense = false; } return car; }

      Yo lo hice igual; sin embargo, me falto poner el return al final y por eso me daba error jaja

      consulta Juan, cuando en el argumento de if solo pones "car.licensePlate" y no pones ningun operador (=,==,===, <,>, etc), ++que estarias preguntando?++

      Gracias!

      <code> export function solution(car) { // Tu código aquí 👈 !car["licensePlate"] ? car.drivingLicense = false : car.drivingLicense = true return car }

      Con !car["licensePlate"] Esta buscando el string licensePlate en car ?

      Me parece que es similar o igual a escribir

      car.licensePlate

      Busca dentro el objeto car la propiedad licensePlate. Prueba en el navegador y darán el mismo resultado.

      Así lo hice yo. Con un operador ternario simple con la condición de que tenga la propiedad de licencePlate

      export function solution(car) { car['licensePlate'] ? car.drivingLicense = true : car.drivingLicense = false; return car; }

      Creo que es la solución mas optima, bien hecho

      Amigo tengo una pregunta colocaste licensePlate dentro de [ ] por lo que es un array verdad.

      Mi aporte

      function solution(car){ if(car.licensePlate){ car.drivingLicense = true; } else { car.drivingLicense = false; } return car; } // Prueba 1 console.log(solution({ color: 'red', brand: 'Kia', })); /* { color: 'red', brand: 'Kia', drivingLicense: false, }*/ // Prueba 2 console.log(solution({ color: 'gray', brand: 'Chevrolet', licensePlate: 'AAA111', })); /*{ color: 'gray', brand: 'Chevrolet', licensePlate: 'AAA111', drivingLicense: true, }*/ // Prueba 3 console.log(solution({ licensePlate: 'RGB255' })) /*{ licensePlate: 'RGB255', drivingLicense: true, }*/

      Mi solución =)

      <code> export function solution(car) { car.drivingLicense = !!car.licensePlate; return car; }

      por que se usa ! !

      El truco de la doble negación de Javascript se utiliza para convertir algunos valores como “null”, “undefined”, u objetos a un valor booleano

      Quien en 2023 !!!! Este es la solucion que yo le di.

      function solution(car) { if (typeof(car.licensePlate) === "undefined") { car.drivingLicense = false; } else { car.drivingLicense = true; } return car }

      Yo merengues

      function solution(car) { car.licensePlate ? car.drivingLicense = true : car.drivingLicense = false; return car; }

      Mi solución aplicando lo visto hasta este punto:

      pg.JPG

      Aún no entiendo exactamente para que funciona el return y como colocar lo que se pide despues del return, no se si con parentesis o sin. Lo intente return solution y fue mi unico error. Si escuche en clases pasadas que es para invocar una funcion y que lo usas como un console tambien pero veo que como que lo usan diferente, me confunde fuck1n return /:

      Alguien en 2024, haciendo este curso?

      Screenshot_7.png
      function solution(car) { car.drivingLicense = 'licensePlate' in car; return car; }

      lo felicito, lo dejo super optimizado!

      Que quiere decir este codigo? alguien que me ilumine

      if ( car.licensePlate)

      Bro segun lo que tengo entenido, car es el nombre del objeto, mientras que licensePlate es una propiedad del objeto car. Se pone car.licensePlate, para indicar que estamos llamando al contenido, de la propiedad licensePlate, del objeto car.

      Es como el ejemplo de la clase: let auto = { color : "Rojo" marca : "Ferrari" }

      Para referirnos al contenido de color (que es una propiedad del objeto auto), hay que escribir: auto.color
      Y esto nos muestra: Rojo

      Por lo tanto if ( car.licensePlate) hace referencia a: Si, ( licensePlate existe en el objeto car )

      Espero hayas entendido mas o menos mi explicacion. No es la mas profesional pero tal vez te ayude. Saludos

      Tenia la misma duda y no estoy seguro pero creeria que es que convierte car.lincensePlate en booleano (yo hice eso explicitamente en mi funcion) porque if solo recibe condiciones que retornan valores booleanos

      wow me mate la cabeza haciendo esto con este código y la solución era asi de fácil :@

      let orden = [car.color, car.brand, car.licensePlate] function construir(color, marca, licencia, booleano) { this.color = color; this.brand = marca; this.licensePlate = licencia; this.drivingLicense = booleano; } function situacion(color, marca, booleano) { this.color = color; this.brand = marca; this.drivingLicense = booleano; } function excepcion(licencia, booleano) { this.licensePlate = licencia this.drivingLicense = booleano; } if (typeof car.licensePlate === 'string' && typeof car.color === 'string') { let auto = new construir(orden[0], orden[1], orden[2], true); return auto; } else if (typeof car.color === 'string') { let auto = new situacion(orden[0], orden[1], false); return auto; } else { let auto = new excepcion(orden[2], true); return auto; }

      Solución:

      export function solution(car) { car.drivingLicense = car.licensePlate ? true : false return car; }

      Creo que es al contrario. Si licensePlate existe, entonces drivingLicense es True, caso contrario es False.

      Mi aporte

      export function solution(car) { car.drivingLicense = Boolean(car.licensePlate); return car; }

      Adjunto solucion del reto

      export function solution(car) { // Tu código aquí 👈 car.drivingLicense = car.licensePlate === undefined ? false : true; return car; }

      Este es mi aporte. Usando el operador ternario y la conversión de los valores explícitos.

      <export function solution(car) { car.drivingLicense = Boolean(car.licensePlate) === true ? car.drivingLicense = true : car.drivingLicense = false; return car; }>

      En mi opinión es mucho más sencillo cuando el código tiene menos líneas, pero es una muy buena solución :)