¿Puedo usar this en el nombre de propiedad calculado? algo como esto:
class User { constructor(username) { this._username = username; } [this._username + "Print"]() { console.log(this._username); } } const u = new User("MORA"); u.moraPrint(); // ?Y sé que es inútil en este caso.
Si define su función en su constructor, se puede hacer:
class User { constructor(username) { this._username = username; this[username + "Print"] = function () { console.log(this._username); } } } const u = new User("mora"); u.moraPrint(); // ? Se puede crear una función de clase con el nombre de propiedad calculado, pero como se menciona en el comentario, this no se habría inicializado para entonces, porque no hay una instancia de objeto.
Puede comprobarlo ejecutando este código (juego de palabras):
item = 'hey' class User { constructor(username) { this._username = username; } [this.item + "hello"]() { console.log('hello ' + this._username); } } const u = new User("MORA"); u.heyhello(); // ?El valor de esto es diferente porque en el momento en que se ejecuta el código, el contexto es diferente.