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

310
Visualizações
TypeError: no se pueden leer las propiedades de undefined (leyendo 'a')

Estaba probando clases y esta palabra clave en Javascript, y escribí este código:

 class p{ constructor(p,a){ p = pp; a = pa; }; }; const c = new p(p="1st aspect",a="2nd aspect"); console.log(this.c);

Y obtuve este error:

 Cannot read properties of undefined (reading 'a')

No sé si esto es compatible con las clases o si pasé los argumentos incorrectos, ¿alguien puede ayudarme allí?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

La sintaxis para crear una clase es incorrecta. No necesita pasar los nombres de los parámetros. Solo usa

 const c = new p("1st aspect","2nd aspect");

Y no es una buena práctica usar la primera letra en minúsculas como nombre de clase. Use P en lugar de p . Y this.c está mal. solo imprime

 console.log(c);
about 4 years ago · Juan Pablo Isaza Relatório

0

Es solo que la sintaxis que está utilizando para crear una instancia de clase no es correcta en términos de intentar usar los nombres de argumento proporcionados ("p =", "a ="), y puede haber algunos errores en la construcción de su clase. Creo que puede haber estado tratando de hacer algo como esto:

 class p { // These are ordered arguments, not named arguments constructor(p,a) { // Save the value of p and a on the class instance this.p = p; this.a = a; }; }; // Create a new p class instance with the arguments in order const classInstance = new p("1st aspect", "2nd aspect");
about 4 years ago · Juan Pablo Isaza Relatório

0

El código debería verse así

 class P { constructor(p, a){ this.p = p; this.a = a; }; }; const c = new P("1st aspect", "2nd aspect"); console.log(c); // <- just print c

Puedo ver que estás mezclando algunos conceptos y confundiéndote, te sugiero que leas los documentos oficiales de MDN , aprenderás sobre las clases paso a paso.

Como extra, notará que los nombres de las clases se nombran usando PascalCase . Esto se debe a que, al seguir la convención de nomenclatura, leerá y entenderá el código de otras personas mucho más rápido (e incluso el suyo).

¡Espero que esto haya ayudado!

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