In questo tutorial imparerai a conoscere le classi JavaScript con l'aiuto di esempi.
Le classi sono una delle funzionalità introdotte nella versione ES6 di JavaScript.
Una classe è un modello per l'oggetto. Puoi creare un oggetto dalla classe.
Puoi pensare alla classe come a uno schizzo (prototipo) di una casa. Contiene tutti i dettagli su pavimenti, porte, finestre, ecc. Sulla base di queste descrizioni, costruisci la casa. La casa è l'oggetto.
Poiché molte case possono essere create dalla stessa descrizione, possiamo creare molti oggetti da una classe.
Creazione di una classe JavaScript
La classe JavaScript è simile alla funzione di costruzione Javascript ed è semplicemente uno zucchero sintattico.
La funzione costruttore è definita come:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Invece di utilizzare la function
parola chiave, si utilizza la class
parola chiave per creare classi JS. Per esempio,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
La class
parola chiave viene utilizzata per creare una classe. Le proprietà vengono assegnate in una funzione di costruzione.
Ora puoi creare un oggetto. Per esempio,
// creating a class class Person ( constructor(name) ( this.name = name; ) ) // creating an object const person1 = new Person('John'); const person2 = new Person('Jack'); console.log(person1.name); // John console.log(person2.name); // Jack
Qui, person1
e person2 sono oggetti di Person
classe.
Nota : il constructor()
metodo all'interno di una classe viene chiamato automaticamente ogni volta che viene creato un oggetto.
Metodi di classe Javascript
Durante l'utilizzo della funzione di costruzione, definisci i metodi come:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
È facile definire metodi nella classe JavaScript. Devi semplicemente dare il nome del metodo seguito da ()
. Per esempio,
class Person ( constructor(name) ( this.name = name; ) // defining method greet() ( console.log(`Hello $(this.name)`); ) ) let person1 = new Person('John'); // accessing property console.log(person1.name); // John // accessing method person1.greet(); // Hello John
Nota : per accedere al metodo di un oggetto, è necessario chiamare il metodo utilizzando il suo nome seguito da ()
.
Getters e Setter
In JavaScript, i metodi getter ottengono il valore di un oggetto e i metodi setter impostano il valore di un oggetto.
Le classi JavaScript possono includere getter e setter. Si utilizza la get
parola chiave per i metodi getter e set
per i metodi setter. Per esempio,
class Person ( constructor(name) ( this.name = name; ) // getter get personName() ( return this.name; ) // setter set personName(x) ( this.name = x; ) ) let person1 = new Person('Jack'); console.log(person1.name); // Jack // changing the value of name property person1.personName = 'Sarah'; console.log(person1.name); // Sarah
Sollevamento
Una classe dovrebbe essere definita prima di usarla. A differenza delle funzioni e di altre dichiarazioni JavaScript, la classe non viene sollevata. Per esempio,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Come puoi vedere, l'accesso a una classe prima di definirla genera un errore.
'usa rigoroso'
Le classi seguono sempre "use-strict". Tutto il codice all'interno della classe è automaticamente in modalità rigorosa. Per esempio,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Nota : la classe JavaScript è un tipo speciale di funzione. E l' typeof
operatore ritorna function
per una classe.
Per esempio,
class Person () console.log(typeof Person); // function