En este tutorial, aprenderá sobre las clases de JavaScript con la ayuda de ejemplos.
Las clases son una de las características introducidas en la versión ES6 de JavaScript.
Una clase es un plano para el objeto. Puede crear un objeto de la clase.
Puede pensar en la clase como un boceto (prototipo) de una casa. Contiene todos los detalles sobre los pisos, puertas, ventanas, etc. Basándose en estas descripciones, construye la casa. La casa es el objeto.
Dado que se pueden hacer muchas casas a partir de la misma descripción, podemos crear muchos objetos a partir de una clase.
Crear clase de JavaScript
La clase JavaScript es similar a la función constructora de Javascript, y es simplemente un azúcar sintáctico.
La función constructora se define como:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
En lugar de usar la function
palabra clave, usa la class
palabra clave para crear clases JS. Por ejemplo,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
La class
palabra clave se usa para crear una clase. Las propiedades se asignan en una función constructora.
Ahora puedes crear un objeto. Por ejemplo,
// 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
Aquí, person1
y person2 son objetos de Person
clase.
Nota : El constructor()
método dentro de una clase se llama automáticamente cada vez que se crea un objeto.
Métodos de clase de Javascript
Mientras usa la función constructora, define métodos como:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Es fácil definir métodos en la clase JavaScript. Simplemente dé el nombre del método seguido de ()
. Por ejemplo,
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 : Para acceder al método de un objeto, debe llamar al método usando su nombre seguido de ()
.
Getters y Setters
En JavaScript, los métodos getter obtienen el valor de un objeto y los métodos setter establecen el valor de un objeto.
Las clases de JavaScript pueden incluir getters y setters. Utiliza la get
palabra clave para los métodos getter y set
setter. Por ejemplo,
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
Izar
Se debe definir una clase antes de usarla. A diferencia de las funciones y otras declaraciones de JavaScript, la clase no se eleva. Por ejemplo,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Como puede ver, acceder a una clase antes de definirla arroja un error.
'uso estricto'
Las clases siempre siguen 'use-estricto'. Todo el código dentro de la clase está automáticamente en modo estricto. Por ejemplo,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Nota : la clase JavaScript es un tipo especial de función. Y el typeof
operador regresa function
por una clase.
Por ejemplo,
class Person () console.log(typeof Person); // function