Objetos JavaScript

Objetos, propriedades e métodos da vida real

Na vida real, um carro é um objeto.

Um carro tem propriedades como peso e cor, e métodos como start e stop:

Object Properties Methods

car.name = Ferrari

car.model = F1

car.weight = 850kg

car.color = red

car.start()

car.drive()

car.brake()

car.stop()

Todos os carros têm as mesmas propriedades , mas os valores das propriedades diferem de carro para carro.

Todos os carros têm os mesmos métodos , mas os métodos são executados em momentos diferentes.

Objetos JavaScript

Você já aprendeu que as variáveis JavaScript são contêineres para valores de dados.

Este código atribui um valor simples (Fiat) a uma variável chamada carro:

Exemplo:


    let car = "Fiat";
    

Os objetos também são variáveis. Mas os objetos podem conter muitos valores.

This code assigns many values (Fiat, 500, white) to a variable named car:

Exemplo:


    const car = {type:"Fiat", model:"500", color:"white"};
    

Os valores são escritos como pares nome: valor (nome e valor separados por dois pontos).

É uma prática comum declarar objetos com a palavra-chave const.

Aprenda mais sobre como usar const com objetos no capítulo: JS Const .

Definição de Objeto

Você define (e cria) um objeto JavaScript com um literal de objeto:

Exemplo:


    const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
    

Espaços e quebras de linha não são importantes. Uma definição de objeto pode abranger várias linhas:

Exemplo:


    const person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"
    };
    

Propriedades do objeto

Os pares nome: valores em objetos JavaScript são chamados de propriedades:

Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue

Acessando Propriedades do Objeto

Você pode acessar as propriedades do objeto de duas maneiras:

Exemplo:


    objectName.propertyName
    

ou


    objectName["propertyName"]
    

Exemplo 1:


    person.lastName;
    

Exemplo 2:


    person["lastName"];
    

Objetos JavaScript são contêineres para valores nomeados chamados propriedades.

Métodos de Objeto

Os objetos também podem ter métodos.

Métodos são ações que podem ser executadas em objetos.

Os métodos são armazenados nas propriedades como definições de função.

Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

Um método é uma função armazenada como uma propriedade.

Exemplo:


    const person = {
      firstName: "John",
      lastName : "Doe",
      id       : 5566,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };
    

A this palavra-chave

Em uma definição de função, this refere-se ao "proprietário" da função.

No exemplo acima, this é o objeto pessoa que "possui" a fullName função.

Em outras palavras, this.firstName significa firstName propriedade deste objeto.

Leia mais sobre a this palavra-chave em JS esta palavra- chave.

Acessando métodos de objeto

Você acessa um método de objeto com a seguinte sintaxe:


    objectName.methodName()
    

Exemplo:


    name = person.fullName();
    

Se você acessar um método sem os parênteses (), ele retornará a definição da função:

Exemplo:


    name = person.fullName;
    

Não declare strings, números e booleanos como objetos!

Quando uma variável JavaScript é declarada com a palavra-chave "new", a variável é criada como um objeto:


    x = new String();   // Declares x as a String object
    y = new Number();   // Declares y as a Number object
    z = new Boolean();   // Declares z as a Boolean object
    

Evite String, Number, e Boolean objetos. Eles complicam seu código e reduzem a velocidade de execução.