Code Monkey home page Code Monkey logo

objectjs's Introduction

Literal Object

Los objectos literales.

Son una estructura de datos primaría. La cual consta de varias caracteristicas únicas. La primera de ellas es que es:

['llave']: 'valor'

Otra cosa a tener encuenta es que los objectos pueden tener diferentes tipos de valores por llave.

Ej:
 var nino = {
   nombre: 'pepito',
   edad: 13,
   vacaciones: false,
   altura: 144, //cm
   peso: 45, //KG
   'calcular-volumen': function(){
     var vol = this.altura*this.peso;
     return vol;
   }
 }
Como podemos ver aquí tenemos de todos los tipos que posee JS.

Accediendo llaves

Un objecto puede ser accedido de diferentes maneras, pero siempre necesitará el valor de la llave para poder hacerlo.

  • nino.edad // 13
  • nino['peso'] // 45

Vemos que se puede usar [] ó . para acceder a la propiedad de los objectos.

¿Cual usar?

Usualmente se usa . pero hay casos especiales como calcular-volumen donde el compilador pensará que se refiere a dos valores calcular y volumen, por lo tanto en estos casos es mejor usar ['calcular-volumen'].

Versatiles.

Los objetos literales son muy versatiles, dado que se puede hacer aun más operaciones de las que hemos visto hasta el momento.

reasignar valores

Los valores almacenados en una llave pueden ser asignados nuevamente sin problemas.

Más adelante en ES6 veremos la utilidad de esta propiedad de los objectos.
  nino.vacaciones = true

Borrar llaves del objecto

También da la posibilidad de borrar llaves indeseadas del objeto, esto dará como resultado un nuevo objecto sin esa llave.

A continuación el ejemplo:

delete nino['calcular-peso']

/*
  {
    nombre: 'pepito',
    edad: 13,
    vacaciones: false,
    altura: 144, //cm
    peso: 45, //KG
  }
*/

Iteración sobre el objecto

Hay dos formas de hacerlo, la primera forma es usando for in de JS, esto nos da la posibilidad de iterar sobre el objecto en cuestión.

  for (let key in nino) {
    if (nino.hasOwnProperty(key)) {
      console.log(nino[key])
    }
  }
  /*
    pepito
    13
    false
    144
    4
    function
  */
2º forma de iterar objectos

Esta forma lo que hace es sacar las llaves del Objecto en un arreglo gracias a la función de JS:

Object.keys()

Ya con esto podemos iterrar como cualquier Array

  var llaves = Object.keys(nino);
  for (var i=0; i < llaves.length; i++) {
    var llave = llaves[i];
    console.log(nino[llave]);
  }
  /*
    pepito
    13
    false
    144
    4
    function
  */

Tiempo de ejercicios.

objectjs's People

Watchers

James Cloos avatar Jaime Molina avatar

Forkers

alejorondon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.