Objeto do JavaScript

objeto, atributo e método na vida real

Na vida real, um carro é umobjeto.

Os carros têm características como peso e coratributoe também tem ações como iniciar e pararfunção:

objeto atributo função

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

Todos os carros têm o mesmoatributoem comum, mas os valores dos atributos variam de carro para carro.

Todos os carros têmfunçãomas os métodos serão executados em diferentes momentos.

Objeto do JavaScript

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

Este código coloca umum valor(porsche) atribuído ao nome carvariável:

var car = "porsche";

Experimente pessoalmente

O objeto também é uma variável. Mas o objeto contém muitos valores.

Este código colocavárias valores(porsche, 911, white) atribuído ao nome carvariável:

var car = {type:"porsche", model:"911", color:"white"};

Experimente pessoalmente

O valor énome:valorescrito de forma a usar (nome e valor separados por dois pontos).

O objeto JavaScript évalor nomeadoé um contêiner.

atributo do objeto

O nome:valor par chamadoatributo.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
atributo valor do atributo
firstName Bill
lastName Gates
age 62
eyeColor blue

método do objeto

O objeto também pode terfunção.

A função é executada no objetoação.

A função éDefinição de funçãoestá armazenado no atributo.

atributo valor do atributo
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

A função é armazenada como atributo.

Instância

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

palavra-chave this

Na definição de função,this referencia o "possuidor" da função.

No exemplo acima,this refere-se ao "possuidor" da função fullName Objeto person.

Em outras palavras,this.firstName Significa Objeto thisda propriedade firstName.

Por favor, no Palavra-chave this do JSEste capítulo aprende mais sobre a palavra-chave this.

Definição de objeto

Nós definimos (criamos) um objeto JavaScript:

Instância

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Experimente pessoalmente

Espaços e quebras de linha são permitidos. A definição de objeto pode estender várias linhas:

Instância

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,
    eyeColor:"blue"
};

Experimente pessoalmente

Acessar propriedades de objetos

Você pode acessar propriedades de objetos de duas maneiras:

objectName.propertyName

ou

objectName["propertyName"]

Exemplo 1

person.lastName;

Experimente pessoalmente

Exemplo 2

person["lastName"];

Experimente pessoalmente

Acessar métodos de objetos

Você pode acessar métodos de objetos com a seguinte sintaxe:

objectName.methodName()

Instância

name = person.fullName();

Experimente pessoalmente

Se vocêSem usar () Acessar o método fullName, retornaráDefinição de função:

Instância

name = person.fullName;

Experimente pessoalmente

Métodos são armazenados na forma de valores de propriedades de função.

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

Se você declarar variáveis JavaScript usando a palavra-chave "new", elas serão criadas como objetos:

var x = new String();        // Declarar x como um objeto String
var y = new Number();        // Declarar y como um objeto Number
var z = new Boolean();       // Declarar z como um objeto Boolean

Evite objetos de string, numérico ou lógico. Eles aumentam a complexidade do código e diminuem a velocidade de execução.

Você aprenderá mais sobre os objetos em seções posteriores deste tutorial.

Livros didáticos

Para mais informações sobre Objeto do JavaScriptPara mais informações sobre o conhecimento, leia o conteúdo relevante no tutorial avançado de JavaScript:

Tecnologia Orientada a Objetos ECMAScript
Esta seção apresenta termos relacionados à tecnologia orientada a objetos, os requisitos de linguagens orientadas a objetos e a estrutura dos objetos.
Aplicações de Objetos ECMAScript
Esta seção oferece uma visão geral sobre como declarar e instanciar objetos, como referenciar e desinstanciar objetos, bem como o conceito de binding.
Tipos de Objetos ECMAScript
Esta seção apresenta os três tipos de objetos ECMAScript: objetos locais, objetos embutidos e objetos hospedados, e fornece links para manuais de referência relevantes.
Escopo de Objetos ECMAScript
Esta seção explica o escopo ECMAScript e o operador this.
Definição de Classes ou Objetos ECMAScript
Esta seção detalha várias maneiras de criar objetos ou classes ECMAScript.
Modificação de Objetos ECMAScript
Esta seção explica como modificar um objeto criando novos métodos ou redefinindo métodos existentes.