Soy principiante en em ES6 y necesito instanciar nuevos objetos dentro de una clase. Cuál es la mejor manera de hacer esto y cómo puedo acceder "en este caso" a la conexión en la función getName().
Probablemente esté diciendo tonterías, pero necesito entender cómo funciona esto para evolucionar. Cualquiera tendría algún consejo para mí.
pequeño ejemplo anterior
class Test { constructor(array){ this.array = array // CONNECT DATABASE var connection = mysql.createConnection({this.array}) } getName(){ query = 'SELECT * FROM mytable LIMIT 1' connection.query(query, function (err, rows, fields) { return rows }) } } array = { host: 'localhost', user: 'root', password: '', database: 'mydb' } let T = new Test(array) T.getName() // error connection is not definedEn este ejemplo, la var connection es una variable que solo está en el contexto del constructor.
Debe usar this.connection para que sea realmente un miembro del objeto en sí. Cámbielo a this.connection en todos los lugares donde lo use. No necesita var , let o const al definir una variable como esta.
class Test { constructor(array){ this.array = array // CONNECT DATABASE this.connection = mysql.createConnection({this.array}) } getName(){ query = 'SELECT * FROM mytable LIMIT 1' this.connection.query(query, function (err, rows, fields) { return rows }) } }