JavaScript - no entiendo como crear una funcion en un prototype

 
Vista:
Imágen de perfil de gerardo

no entiendo como crear una funcion en un prototype

Publicado por gerardo (2 intervenciones) el 25/09/2022 17:20:23
Estuve buscando por varios lugares y no le entiendo a la consigna del ejercicio:
// Escribi una funcion llamada 'repeatCharacters' en el prototypo del objeto global String
// que reciba como parametro un string
// y devuelve un string en donde cada letra se repita una vez.
// Por ej:
// 'hola'.repeatCharacters() devuelve "hhoollaa"
// Tu código aca:
function Global(saludos){
this.saludos = saludos;
}

Global.prototype.repetirCaracteres() = function(){

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

no entiendo como crear una funcion en un prototype

Publicado por Ivan (118 intervenciones) el 26/09/2022 17:50:14
Hola,

en JavaScript casi todo son objetos y la palabra prototype permite definir nuevos métodos y herencias a los objetos ya definidos.

String es un Objeto que permite trabajar con strings, al añadirle el prototipo RepeatCharacters le estás definiendo un nuevo método, de modo que ahora 'hola'.RepeatCharacters() generaria como resultado el método que definas en la función.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
      String.prototype.RepeatCharacters = function() {
        let newString = '';
        for(let i=0; i<this.length; i++) {
          newString = newString + this[i] + this[i];
        }
        return newString;
      }
    </script>
</head>
<body>
    <script>
      let str = 'Esto es un texto de prueba';
      document.write('<p>'+str.RepeatCharacters()+'</p>');
      document.write('<p>'+'hola'.RepeatCharacters()+'</p>');
    </script>
</body>
</html>

En este ejemplo puedes ver que al aplicar prototype a la clase global String, tanto si se asigna como una variable o como un literal reconocen el nuevo método.

Tienes la documentación oficial aquí https://developer.mozilla.org/es/docs/Learn/JavaScript/Objects/Object_prototypes

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gerardo

no entiendo como crear una funcion en un prototype

Publicado por gerardo (2 intervenciones) el 27/09/2022 15:30:51
hola, muchas gracias por la información, Ahora me pongo a seguir investigando sobre este tema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar