logo javascript

Aprenda javascript com facilidade do zero

Prof. Ivan Lourenço Gomes

Tipos de dados - Objetos

Objetos, assim como arrays, também são listas de elementos. A diferença é que os objetos são compostos por pares de chaves (keys) e valores (values). Utilizamos os dois pontos (:) para separar a chave do seu valor associado.

O símbolo que identifica os objetos são as chaves { }.

                    
    var funcionario = {
        'nome': 'Pedro Souza Gomes',
        'ano_nasc': 1972,
        'cpf': '111.111.111.11',
        'cargo': 'Analista de Sistemas'
    };
                    
                

As chaves do objeto são também chamadas de propriedades do objeto.

Os elementos do objeto não são ordenados por índice e só podem ser acessados por meio da chave:

                    
    console.log( funcionario['cpf'] ); //  O console mostrará '111.111.111.11'

    console.log( funcionario.cpf ); // Podemos usar a notação com ponto (dot notation)
                    
                

A notação com pontos só funciona com chaves que sigam as regras dos identificadores:

                    
    var teste = {
        'chave1': 'Algum valor',
        '2a': 'Algum valor 2',
        09335: 'Algum valor 3'
        'ola-mundo': 'Algum valor 4'
    }; 

    // a 'chave1' pode ser acessada usando a notação com ponto.

    console.log( teste.chave1 );  // O console mostrará 'Algum valor'

    // a outras chaves não podem usar esta notação porque não respeitam as regras dos identificadores.

                    
                

Podemos também alterar valores das propriedades e adicionar novas propriedades para os objetos.

                    
    
    var funcionario = {
        'nome': 'Pedro Souza Gomes',
        'ano_nasc': 1972,
        'cpf': '111.111.111.11',
        'cargo': 'Analista de Sistemas'
    };

    funcionario.cargo = 'Gerente de T.I.';  // alterar um valor associado a uma chave existente
    funcionario.cnh = '1982736654';  // adicionar uma nova dupla de chave e valor

    console.log(funcionario); 

    /* O console mostrará:
    
    {
        'nome': 'Pedro Souza Gomes',
        'ano_nasc': 1972,
        'cpf': '111.111.111.11',
        'cargo': 'Analista de Sistemas',
        'cnh': '1982736654'
    }; */

                    
                

A partir de agora vamos começar a ver arrays e objetos multidimensionais misturados, portanto é preciso ter cuidado com a indentação para que a visualização seja fácil.

                
    var cursos = [
        {
            'titulo': 'Aprenda programação em Python 3 com facilidade do zero',
            'avaliacoes': 680,
            'alunos': 2300,
            'categorias': ['programacao', 'tecnologia']
        },

        {
            'titulo': 'Aprenda PHP e faça sites dinâmicos',
            'avaliacoes': 180,
            'alunos': 350,
            'categorias': ['desenvolvimento web', 'programacao']
        },

        {
            'titulo': 'Excel do Zero ao Avançado',
            'avaliacoes': 420,
            'alunos': 1800,
            'categorias': ['produtividade', 'gestão']
        }
        
    ];
                
            

Para rapidamente mapearmos arrays e objetos multidimensionais, além da correta indentação, temos que lembrar das regras principais:

Sabendo destas regras, podemos concluir algumas coisas sobre a variável cursos:

Como é que nós podemos acessar então, a categoria 'desenvolvimento web' do curso de PHP, por exemplo?

                

    console.log( cursos[1]['categorias'][0] );

                
            

Podemos desta mesma maneira alterar os elementos.

                

    cursos[2]['categorias'][1] = 'Administração de empresas';
    console.log( cursos[2]['categorias'] );  // O console mostrará ['produtividade', 'Administração de empresas']


    // Podemos usar também a notação com ponto: 

    cursos[2].categorias[1] = 'Administração de empresas';
    console.log( cursos[2].categorias);  


                
            

Índice de Aulas