Neste tutorial, você aprenderá sobre as classes JavaScript com a ajuda de exemplos.
As aulas são um dos recursos introduzidos na versão ES6 do JavaScript.
Uma classe é um projeto para o objeto. Você pode criar um objeto da classe.
Você pode pensar na classe como um esboço (protótipo) de uma casa. Ele contém todos os detalhes sobre os pisos, portas, janelas, etc. Com base nessas descrições, você constrói a casa. A casa é o objeto.
Uma vez que muitas casas podem ser feitas a partir da mesma descrição, podemos criar muitos objetos de uma classe.
Criação de classe JavaScript
A classe JavaScript é semelhante à função do construtor Javascript e é apenas um açúcar sintático.
A função construtora é definida como:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Em vez de usar a function
palavra - chave, você usa a class
palavra - chave para criar classes JS. Por exemplo,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
A class
palavra-chave é usada para criar uma classe. As propriedades são atribuídas em uma função de construtor.
Agora você pode criar um objeto. Por exemplo,
// 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
Aqui, person1
e person2 são objetos de Person
classe.
Nota : O constructor()
método dentro de uma classe é chamado automaticamente sempre que um objeto é criado.
Métodos de classe Javascript
Ao usar a função construtora, você 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); ) )
É fácil definir métodos na classe JavaScript. Você simplesmente dá o nome do método seguido por ()
. Por exemplo,
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 acessar o método de um objeto, você precisa chamar o método usando seu nome seguido de ()
.
Getters e Setters
Em JavaScript, os métodos getter obtêm o valor de um objeto e os métodos setter definem o valor de um objeto.
As classes JavaScript podem incluir getters e setters. Você usa a get
palavra - chave para métodos getter e set
para métodos setter. Por exemplo,
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
Elevação
Uma classe deve ser definida antes de usá-la. Ao contrário das funções e outras declarações JavaScript, a classe não é içada. Por exemplo,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Como você pode ver, acessar uma classe antes de defini-la gera um erro.
'use estrito'
As aulas sempre seguem 'use-strict'. Todo o código dentro da classe está automaticamente no modo estrito. Por exemplo,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Nota : a classe JavaScript é um tipo especial de função. E o typeof
operador retorna function
para uma aula.
Por exemplo,
class Person () console.log(typeof Person); // function