Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

96
Vistas
computed property names and this - JS

Can i use this in computed property name ? something like this:

class User {
  constructor(username) {
    this._username = username;
  }

  [this._username + "Print"]() {
    console.log(this._username);
  }
}

const u = new User("MORA");
u.moraPrint(); // ?

And i know that it is useless in this case.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

If you define your function in your constructor, it can be done:

class User {
  constructor(username) {
    this._username = username;
    this[username + "Print"] = function () {
    console.log(this._username);
    
    }
  }
}



const u = new User("mora");
u.moraPrint(); // ?

A class function can be created with computed property name, but as mentioned in comment this would not have been initialized by then, because there is no object instance.

You can check that by running this (pun intended) code :

item = 'hey'
class User {
  constructor(username) {
    this._username = username;
  }

  [this.item + "hello"]() {
    console.log('hello ' + this._username);
  }
}

const u = new User("MORA");
u.heyhello(); // ?

The value of this is different because at the time code is run, the context is different.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda