Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
Agregar un método al prototipo de una variable de cadena

Esperado: cuando se crea una variable mediante createGreetable , debe tener una propiedad adicional de greet establecida por greetable(text) . Los métodos string habituales aún deberían poder llamarse en esta variable.

Lo que probé:

 const greetablePrototype = { greetable: function(greeting) { this.greet = `${greeting}, ${ this.valueOf() }!` } } function createGreetable(str) { const result = new String(str); Object.setPrototypeOf(result, greetablePrototype) return result; } const t = new createGreetable("world"); t.greetable("hello"); console.log(t.greet); console.log(t.length);

Producción:

 hello, [object String]! 5

Rendimiento esperado:

 hello, world! 5
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede extender la clase de cadena:

 class Greetable extends String { greet (greeting) { return `${greeting}, ${this}!`; } } const g = new Greetable('world'); g.greet('hello'); // hello, world! g.length // 5
about 4 years ago · Juan Pablo Isaza Relatório

0

Se necesitaron algunas modificaciones a su código para que funcione según lo previsto:

  1. Agregando this.length en la función prototipo greetable para actualizar la longitud de la cadena cada vez (recuerde que este es un objeto de cadena ).
  2. Cambiando la línea de const result a this.greet en la función constructora, configurando el prototipo de this en greetablePrototype según lo previsto, luego devolviendo la instancia de nuestro objeto return this .

 const greetablePrototype = { greetable: function(greeting) { this.greet = `${greeting}, ${this.greet}!` this.length = this.greet.length; } } function createGreetable(str) { this.greet = String(str); Object.setPrototypeOf(this, greetablePrototype) return this; } const t = new createGreetable("world"); t.greetable("hello"); console.log(t.greet); console.log(t.length);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda