Hola. tengo este tema: estoy instanciando un nuevo objeto asi: <strong>const human = new Object(), name = ‘Carlos’, lastName = ‘Sanchez’,...

Pregunta de la clase:
Objetos
Estudiante Platzi

Estudiante Platzi

Pregunta
studenthace 5 años

Hola.

tengo este tema: estoy instanciando un nuevo objeto asi:

**const human = new Object(),

name = ‘Carlos’,

lastName = ‘Sanchez’,

gender = ‘male’,

age = 37**

despues consulto el tipo y me traigo la propiedad asi:

**console.log(typeof(human));

console.log(`${ name }``);** OJO: aqui coloque una backtick adicional o el editor no me lo iba a mostrar.

Resultando en esto:

*object

Carlos*

Mi pregunta es: ¿que esta ocurriendo cuando quiero iterar en las propiedades de este objeto, que no me devuelve nada a la salida?

Estoy haciendo esto:

**for (const property in human) {

console.log(

${property}:${human[property]}
);** OJO: aqui no se visualizan las backtick aunque si lo tienen.

}

Mi gran duda es derivada a que tengo otro objeto, en la cual si me esta iterando:

mujer1 = { nombre: ‘Petra Hanks’, edad: 46, complexion: ‘delgada’, estatura: ‘alta’, raza: ‘caucasica’ }

for (const property in mujer1) { console.log(
${property}:${mujer1[property]}
); }

nombre:Petra Hanks edad:46 complexion:delgada estatura:alta raza:caucasica

1 respuestas
para escribir tu comentario
    Jonathan Garcia Centurion

    Jonathan Garcia Centurion

    studenthace 5 años

    buenas, el error es que para crear un objeto se hace de la siguiente forma

    puedes usar var o let en esta ocasión tendrán el mismo resultado

    var miObjeto = { name: 'juan', apellido: 'pepito', estatura: 'alta', edad: 28 }

    teniendo eso claro es por ese motivo el que puedes iterar en el segundo intento que realizaste y para aclarar las dudas que tenias en un inicio. 1º - te salio que human era un objeto por que tu se lo indicaste declarandole el valor de objeto.

    const human = new Object(), name = ‘Carlos’, // esto de aqui no funciona como parte del objeto de human. lastName = ‘Sanchez’, gender = ‘male’, age = 37 console.log(typeof(human));

    2º - cuando llamas a name no era necesario que pusieras el valor de pesos mas las llaves si es que no ibas agregar algo de texto

    console.log(name) // esto te hubiera servido console.log(`Mi nombre es ${name}`) /* devuelve = Mi nombre es Carlos cuando vas agregar texto la segunda opción es la indicada*/

    y el motivo por el que te da el valor de carlos a pesar de que no la inicializaste es por que javascript lo hizo por ti al ver que llamabas a una variable que no estaba inicializada.

    detalle importante es que veas como es el cuerpo de un objeto al de una variable.

    var miObjeto = { name: 'sara', // en ves de poner = en un objeto se pone : } var firstName = 'ana'; // aquí si se usa el = ya que inicializas un variable y la declaras.

    espero te sirva.

Fundamentos de JavaScript 2018

Fundamentos de JavaScript 2018

JavaScript es un lenguaje de programación que se trabaja desde el navegador. Construye programas, conoce el entorno, los condicionales y las estructuras repetitivas. Aprende cuáles son y cómo se declaran las variables y las funciones de JS.

Fundamentos de JavaScript 2018
Fundamentos de JavaScript 2018

Fundamentos de JavaScript 2018

JavaScript es un lenguaje de programación que se trabaja desde el navegador. Construye programas, conoce el entorno, los condicionales y las estructuras repetitivas. Aprende cuáles son y cómo se declaran las variables y las funciones de JS.