Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

334
Visualizações
Objeto () frente a Función ()

Tengo entendido que casi todo en JS es un objeto y que los constructores son una forma de crear un nuevo objeto. Sé que los tipos de datos como Array, Function y Objects tienen que usar la nueva palabra clave, lo que los convierte en objetos y en el backend funciona como new Array() , new Function() o new Object() Corríjame si soy equivocado. Aquí es donde las cosas se volvieron confusas para mí. Asigné x a una matriz [1, 2, 3, 4] . Cuando inspeccioné x, mostró que el [[prototype]] es un Array y el constructor es el objeto Array() . Al final, mostró el prototipo del objeto Array() que es Object y el constructor para que Object sea Object() . Entendí todo hasta que Object.constructor y el resultado fue Function() . ¿No debería ser Object() , en lugar de Function() ? Si el constructor de un objeto es new Object() , ¿por qué me dice que Function es el constructor? De esa manera, si creo un nuevo objeto, se instanciará así: let x = new Function() , ¿sí? Ese no fue el único. Todos los tipos de datos primitivos y de referencia dieron el mismo resultado. Aquí está el código. Estaba tan feliz cuando pensé que había captado este conocimiento y luego, de alguna manera, lo rompí. Hmmm, muy parecido a la codificación... jajaja. Gracias de antemano por explicar.

 let x = [1, 2, 3, 4]; undefined x; (4) [1, 2, 3, 4] 0: 1 1: 2 2: 3 3: 4 length: 4 **[[Prototype]]: Array(0)** at: ƒ at() concat: ƒ concat() **constructor: ƒ Array()** copyWithin: ƒ copyWithin() entries: ƒ entries() every: ƒ every() ...Many other Array methods... **[[Prototype]]: Object** **constructor: ƒ Object()** hasOwnProperty: ƒ hasOwnProperty() isPrototypeOf: ƒ isPrototypeOf() propertyIsEnumerable: ƒ propertyIsEnumerable() toLocaleString: ƒ toLocaleString() toString: ƒ toString() valueOf: ƒ valueOf() __defineGetter__: ƒ __defineGetter__() __defineSetter__: ƒ __defineSetter__() __lookupGetter__: ƒ __lookupGetter__() __lookupSetter__: ƒ __lookupSetter__() __proto__: (...) get __proto__: ƒ __proto__() set __proto__: ƒ __proto__() **Array.constructor;** *ƒ Function() { [native code] }* **Object.constructor;** *ƒ Function() { [native code] }* **Function.constructor;** *ƒ Function() { [native code] }* **String.constructor;** *ƒ Function() { [native code] }* **Boolean.constructor;** *ƒ Function() { [native code] }* **Number.constructor;** *ƒ Function() { [native code] }*
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Object es una función utilizada para construir objetos. Como es una función, su propio constructor es Function .

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que podría pensar de esta manera, el constructor es una función que devuelve una instancia de objeto.

Ahora, la razón por la que agrega new es que crea una nueva instancia del objeto.

Ahora la clase y la función en js son casi las mismas.

Mira el ejemplo a continuación

ejemplo de objeto

 class test { constructor(name){ this.name = name; } getName(){ return this.name; } } console.log(new test("hej").getName())

Ejemplo de función

 function test(name){ this.name = name; } test.prototype.getName =function(){ return this.name; } console.log(new test("hej").getName())

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda