Javascript Object-Oriented in ES6

Mattepuffo's logo
Javascript Object-Oriented in ES6

Javascript Object-Oriented in ES6

In questo articolo avevamo visto come usare Javascript OOP.

Ovviamente, con l'avvento di ES6, la OOP è stata potenziata.

Oggi vediamo appunto qualche esempio.

Creeremo una classe Persona, con proprietà (nome e cognome).

E con due metodi che si occupano di stampare i dati che passiamo al costruttore della classe:

class Person {
    constructor(nome, cognome) {
        this.nome = nome;
        this.cognome = cognome;
    }
    
    getNome() {
        return this.nome;
    }
    
    getCognome() {
        return this.cognome;
    }
}

let p = new Person('gino', 'gini');
console.log('Ti chiami: ' + p.getNome() + " " + p.getCognome());

Questo esempio banale, già ci fa vedere parecchie cose base, se già programmate a oggetti.

Però, potete notare come non ci sia il concetto di variabile privata.

E' possibile usare un workaround per ottenere ciò:

class Person {
    constructor(nome, cognome) {
        let _nome = nome;
        let _cognome = cognome;
        
        this.getNome = function() {
            return _nome;
        }
        
        this.getCognome = function() {
            return _cognome;
        }
    }
}

Potete notare varie differenze, tra cui il fatto che abbiamo messo tutto dentro al costruttore.

Oltre a questo, abbiamo i vari concetti come l'ereditarietà, ecc.

E ci vengono in aggiunta altri oggetti come Symbol e WeakMap.

Questo è solo un assaggio ovviamente...

Enjoy!


Condividi

Commentami!