CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

JavaScript/jQuery - Objetos

Por Benedito Silva Júnior - publicado em 19/07/2016


A linguagem JavaScript é projetada com base em um simples paradigma orientado a objeto. Um objeto é uma coleção de propriedades, e uma propriedade é uma associação entre um nome e um valor. Um valor de propriedade pode ser uma função, que é então considerada um método do objeto. Além dos objetos que são pré-definidos no browser, você pode definir seus próprios objetos.

Objetos em JavaScript, exatamente como em muitas outras linguagens de programação, podem ser comparados com objetos na vida real. O conceito de objetos em JavaScript pode ser entendido com objetos tangíveis da vida real.

Em JavaScript, um objeto é uma a entidade independente, com propriedades e tipo. Compare-o com uma xícara, por exemplo. Uma xícara é um objeto, com propriedades. Uma xícara tem uma cor, uma forma, peso, um material de composição, etc. De mesma forma, objetos em JavaScript podem ter propriedades, que definem suas características.

Um objeto em JavaScript tem propriedades associadas a ele. Uma propriedade de um objeto pode ser explicada como uma variável que é ligada ao objeto. Propriedades de objetos são basicamente as mesmas que variáveis normais em JavaScript, exceto pelo fato de estarem ligadas a objetos. As propriedades de um objeto definem as características do objeto. Você acessa as propriedades de um objeto com uma simples notação de ponto:

nomeDoObjeto.nomeDaPropriedade

Como as variáveis em JavaScript, o nome do objeto (que poderia ser uma variável normal) e um nome de propriedade diferem em maiúsculas/minúsculas (por exemplo, cor e Cor são propriedades diferentes). Você pode definir uma propriedade atribuindo um valor a ela. Por exemplo, vamos criar um objeto chamado meuCarro e dar a ele propriedades chamadas make, modelo, e ano, conforme mostrado a seguir:

var meuCarro = new Object(); meuCarro.make = "Volkswagen"; meuCarro.modelo = "Fox"; meuCarro.ano = 2007;

Propriedades de objetos em JavaScript podem também ser acessada ou alterada usando-se notação de colchete. Objetos são às vezes chamados de arrays associativos, uma vez que cada propriedade é associada com um valor de string que pode ser usado para acessá-la. Então, por exemplo, você poderia acessar as propriedades do objeto meuCarro como se segue:

meuCarro["make"] = "Volkswagen"; meuCarro["modelo"] = "Fox"; meuCarro["ano"] = 2007;

Um nome de propriedade de um objeto pode ser qualquer string JavaScript válida, ou qualquer coisa que pode ser convertida em uma string, incluindo a string vazia. No entanto, qualquer nome e propriedade que não é um identificador JavaScript válido (por exemplo, um nome de propriedade que tem um espaço ou um hífen, ou que começa com um número) só pode ser acessado(a) usando-se a notação de colchetes.

Essa notação é também muito útil quando nomes de propriedades devem ser determinados dinamicamente (quando o nome da propriedade não é determinado até o momento de execução). Exemplos são mostrados a seguir:

var meuObj = new Object(), str = "minhaString", aleat = Math.random(), obj = new Object(); meuObj.tipo = "Sintaxe de ponto"; meuObj["data de criacao"] = "String com espaco"; meuObj[str] = "valor de String"; meuObj[aleat] = "Numero Aleatorio"; meuObj[obj] = "Objeto"; meuObj[""] = "Mesmo uma string vazia"; console.log(meuObj);

Você pode também acessar propriedades usando um valor de string que está armazenado em uma variável:

var nomeDaPropriedade = "make"; meuCarro[nomeDaPropriedade] = "Volkswagen"; nomeDaPropriedade = "modelo"; myCar[nomeDaPropriedade] = "Fox";

Você pode usar a notação de colchetes com o comando for...in para iterar por todas as propriedades enumeráveis de um objeto. Para ilustrar como isso funciona, a seguinte função mostra as propriedades de um objeto quando você passa o objeto e o nome do objeto como argumentos para a função:

function mostrarProps(obj, nomeDoObj) { var resultado = ""; for (var i in obj) { if (obj.hasOwnProperty(i)) { resultado += nomeDoObj + "." + i + " = " + obj[i] + "\n"; } } return resultado; }

Então, a chamada de função showProps(myCar, "myCar") retornaria o seguinte:
meuCarro.make = Volkswagen meuCarro.modelo = Fox meuCarro.ano = 2007

Para mais detalhes, clique aqui. 

 
Voltar a pagina anteriorVoltarSubir ao topo da páginaTopo