CursosEmpresasBlogLiveConfPrecios

Recupera el Sistema de Comunicaciones

Clase 2 de 5 • Taller de Secretos Ocultos de JavaScript: Protección de Clases y Objetos

Clase anteriorSiguiente clase
    Guillermo DlToro.

    Guillermo DlToro.

    student•
    hace 3 años

    Entras al curso pensando que son puntos free al ver la introducción | Son ejercicios de js para resolver

    cover5 (1).jpg

      Himar Del rio plata

      Himar Del rio plata

      student•
      hace 3 años

      Jajajaja

    Juan Castro

    Juan Castro

    teacher•
    hace 3 años

    Esta clase puede ayudarles a resolver el problema: https://platzi.com/clases/2419-javascript-poo-intermedio/39821-instance-of-en-javascript-con-instancias-y-prototi/ :muscle:

      Luis Carlos Zapata García

      Luis Carlos Zapata García

      student•
      hace 3 años

      Pase la prueba, pero no me deja ver la clase 3 :confused: .

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años

      Ya está disponible, Luis: https://platzi.com/clases/5943-secretos-javascript/58542-vulnerabilidades-del-sistema-de-navegacion/

      Muchas gracias por star pendiente. :D

    David Prado

    David Prado

    student•
    hace 3 años

    Que gran forma de probar lo aprendido!!.. super divertido Platzi!

    Felipe Moreno

    Felipe Moreno

    student•
    hace 3 años
    export class Satelite { constructor({ name, }) { this.name = name; this.messages = []; } send({ from, to, text }) { if ( (from instanceof Astronaut) && (to instanceof SpaceStation) && (to.team.includes(from.name)) ) { this.messages.push({ from: from.name, to: to.name, text, }); } }
    Brayan Estiben Rodallega Saavedra

    Brayan Estiben Rodallega Saavedra

    student•
    hace 3 años

    Listo, estuvo genial el desafío!🚀 +1

    Victor Baruch Pazaran Jaimes

    Victor Baruch Pazaran Jaimes

    student•
    hace 3 años

    Interesante prueba, me gusta este tipo de cursos interactivos!

    Andrés Schuster

    Andrés Schuster

    student•
    hace 3 años
    function ValidateAstronaut(astronaut) { if (astronaut instanceof Astronaut) { return true; } return false; } function ValidateStation(station) { if (station instanceof SpaceStation) { return true; } return false; } function VefifyIfAstronautIsInStation(astronaut, station) { if (station.team.includes(astronaut.name)) { return true; } return false; } export function simulacion({ satelite, estacion, astronauta, texto }) { satelite.send({ from: astronauta, to: estacion, text: texto, }); return satelite.messages; } export class Astronaut { constructor({ name }) { this.name = name; } } export class SpaceStation { constructor({ name }) { this.name = name; this.team = []; } addTeamMember(newMember) { if (newMember instanceof Astronaut) { this.team.push(newMember.name); } } } export class Satelite { constructor({ name }) { this.name = name; this.messages = []; } send({ from, to, text }) { if (!ValidateAstronaut(from)) { return []; } if (!ValidateStation(to)) { return []; } if (!VefifyIfAstronautIsInStation(from, to)) { return []; } this.messages.push({ from: from.name, to: to.name, text, }); } }
    Santiago Quintero

    Santiago Quintero

    student•
    hace 3 años

    MI solución:

    send({ from, to, text }) { if(from instanceof Astronaut && to instanceof SpaceStation &&to.team.includes(from.name)){ this.messages.push({ from: from.name, to: to.name, text, }); } }

    Solo modifiqué el método send de la clase Satelite para que validara todos lo indicado

    José Gerstner Javid

    José Gerstner Javid

    student•
    hace 3 años

    Me encantó esta temática!

    Jefferson Ramos

    Jefferson Ramos

    student•
    hace 3 años

    Tip: Al hacer una condicional pueden "concatenar" varias condiciones con el operador && el cual pide que todas estas devuelvan true para que se cumpla la condicion, ejemplo:

    if (condicion a && condicion b) { // Solo se ejecuta si a y b devuelven true }

    Pueden tener 2 o más condiciones según lo vean conveniente. 👍

    CRISTIAN DARIO AGUDELO PORRAS

    CRISTIAN DARIO AGUDELO PORRAS

    student•
    hace 3 años

    I feel good!!! 🎵🎵🎵

    Taller-POO1.png
    Hector Maluy Fernandez

    Hector Maluy Fernandez

    student•
    hace 3 años

    ¡Lo resolví! Lo único que hice fue modificar el método send de la clase Satelite.

    platzi.png
    Andres Eduardo Maneiro Antunez

    Andres Eduardo Maneiro Antunez

    student•
    hace 3 años

    Mi Solucion . . . . . . . . . . . . . . . . .

    Solo agregue una validacion en la clase Satelite

    export class Satelite { constructor({ name, }) { this.name = name; this.messages = []; } send({ from, to, text }) { const isAstronaut = from instanceof Astronaut const isSatelite = to instanceof SpaceStation const isTeamMember = to.team.some(member => member === from.name) if (isSatelite && isAstronaut && isTeamMember) { this.messages.push({ from: from.name, to: to.name, text, }) } } }
    Bramucci Candela

    Bramucci Candela

    student•
    hace 3 años

    Muy entretenido! Aunque sería genial que pudiéramos poner el código en pantalla completa.

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años

      Muchas gracias por el feedback. Aquí lo puedes encontrar en pantalla completa: https://jshero.platzi.com/e/js/secretosjs-01 Vamos a trabajar en la posibilidad de agregarlo en pantalla completa de forma más intuitiva. :D

      Bramucci Candela

      Bramucci Candela

      student•
      hace 3 años

      Muchas gracias! Aviso que con el link puedo entrar al último challenge sin haberlo desbloqueado (creo que es un error, por que desde Platzi no puedo).

    Carlos Mauro Cárdenas Fernández

    Carlos Mauro Cárdenas Fernández

    student•
    hace 3 años

    Tarda un poco poer si esta bueno voy a revisar como resolverlo.

    JUAN CAMILO CAMPO TANGARIFE

    JUAN CAMILO CAMPO TANGARIFE

    student•
    hace 3 años

    Primera Fase completa!!! vamos Juan DC por a salvarte!! jajajaja

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años

      Yo qué? El Capitán DC puede parecerse a mí pero no soy yo disfrazado de astronauta. :P

    Ramses Acosta

    Ramses Acosta

    student•
    hace 3 años

    hola, muy bueno el reto, pero que tecnologías, librerías, etc, usaron para implementar el sistema del reto? Como ejecuta el código en el Browser? Como se hicieron los test ?

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años

      Mira: https://platzi.com/cursos/javascript-testing/

    Daniel Alberto Cifuentes Castro

    Daniel Alberto Cifuentes Castro

    student•
    hace 3 años

    Hola! ¿A alguien más le sale este error? Application error: a client-side exception has occurred (see the browser console for more information).

      Daniel Alberto Cifuentes Castro

      Daniel Alberto Cifuentes Castro

      student•
      hace 3 años

      Ya funciona!

      Miguel Angel Avendaño Aguirre

      Miguel Angel Avendaño Aguirre

      student•
      hace 2 años

      A MI, JUSTO HOY

    Javier Marin Ayza

    Javier Marin Ayza

    student•
    hace 3 años

    Hola no se si entiendo bien en que consiste...

    1. En guia hay 4 ejemplos para los 4 botones que hay en vista donde se pone lo que se va a introducir y la salida que queremos que ocurra. Es así?

    2. Para esto hay que modificar el código del editor exercise.js

    3. En vista estará lo cargado, es decir las matrices que tenemos en memoria (astronautas, estaciones espaciales y satelite) y tenemos los botones que nos arrojarán un resultado según las modificaciones hechas en exercise.js. Sigo bien?

    4. Y supongo que correr pruebas será que cuando le demos al botón en la pestaña pruebas aparecerá si esta bien o no... si valida todo correcto pasamos el reto. Y sino supongo que arrojaría una pista de donde hay error.

    5. Es que como veo que hay 3 intentos antes de toquetear quería asegurarme que entendí como va la cosa.

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años
      1. Correcto
      2. Correcto
      3. Sigues bien
      4. Correcto, aunque más que darte una pista de dónde está el error, te mostrará que resultado se esperaba y cuál se obtuvo
      5. No solo tienes 3 intentos, sino que a los 3 intentos se te habilitará un botón para ver la solución oficial, pero es tu decisión si tomas esa ayuda o no, en realidad puedes probar las veces que quieras
      Javier Marin Ayza

      Javier Marin Ayza

      student•
      hace 3 años

      Gracias JuanDC

    Jorge Franco Herrera

    Jorge Franco Herrera

    student•
    hace 2 años

    Esta fue mi solución pero no puedo correr las pruebas.

Escuelas

  • Desarrollo Web
  • English Academy
  • Marketing Digital
  • Inteligencia Artificial y Data Science
  • Ciberseguridad
  • Liderazgo y Habilidades Blandas
  • Diseño de Producto y UX
  • Contenido Audiovisual
  • Desarrollo Móvil
  • Diseño Gráfico y Arte Digital
  • Programación
  • Negocios
  • Blockchain y Web3
  • Recursos Humanos
  • Finanzas e Inversiones
  • Startups
  • Cloud Computing y DevOps

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
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