¿Qué significa [objeto Objeto]?

Resuelto Prady asked hace 13 años • 12 respuestas

Estoy intentando obtener alertun valor devuelto por una función y aparece esto en la alerta:

[object Object]  

Aquí está el código JavaScript:

<script type="text/javascript">
$(function ()
{
    var $main = $('#main'),
    $1 = $('#1'),
    $2 = $('#2');

    $2.hide(); // hide div#2 when the page is loaded

    $main.click(function ()
    {
        $1.toggle();
        $2.toggle();
    });

    $('#senddvd').click(function ()
    {
       alert('hello');
       var a=whichIsVisible();
       alert(whichIsVisible());
    });

    function whichIsVisible()
    {
        if (!$1.is(':hidden')) return $1;
        if (!$2.is(':hidden')) return $2;
    }

});

</script>

whichIsVisiblees la función que estoy tratando de verificar.

Prady avatar Jan 21 '11 00:01 Prady
Aceptado

Como otros han señalado, esta es la serialización predeterminada de un objeto. Pero ¿por qué es así [object Object]y no justo [object]?

¡Eso se debe a que existen diferentes tipos de objetos en Javascript!

  • Objetos de función :
    stringify(function (){})->[object Function]
  • Objetos de matriz :
    stringify([])->[object Array]
  • Objetos RegExp
    stringify(/x/) ->[object RegExp]
  • Objetos de fecha
    stringify(new Date) ->[object Date]
  • … varios más …
  • y Objetos objetos !
    stringify({})->[object Object]

Esto se debe a que se llama a la función constructora Object(con "O" mayúscula), y el término "objeto" (con "o" minúscula) se refiere a la naturaleza estructural de la cosa.

Por lo general, cuando se habla de "objetos" en Javascript, en realidad se refiere a " objetos Objeto ", y no a los otros tipos.

donde stringifydebería verse así:

function stringify (x) {
    console.log(Object.prototype.toString.call(x));
}

user123444555621 avatar Aug 21 '2014 06:08 user123444555621

La conversión predeterminada de un objeto a una cadena es "[object Object]".

Como trabaja con objetos jQuery, es posible que desee hacer

alert(whichIsVisible()[0].id);

para imprimir el ID del elemento.

Como se menciona en los comentarios, debes usar las herramientas incluidas en navegadores como Firefox o Chrome para introspeccionar objetos haciendo en console.log(whichIsVisible())lugar de alert.

Nota al margen : las identificaciones no deben comenzar con dígitos.

Felix Kling avatar Jan 20 '2011 17:01 Felix Kling

Puedes ver el valor dentro de [objeto Objeto] así

Alert.alert(  JSON.stringify(userDate)  );

Intenta así

    realm.write(() => {
       const userFormData = realm.create('User',{
       user_email: value.username,
       user_password: value.password,
      });
     });

      const userDate = realm.objects('User').filtered('user_email == $0', value.username.toString(), );
      Alert.alert(  JSON.stringify(userDate)  );

referencia

https://off.tokyo/blog/react-native-object-object/

Ryosuke Hujisawa avatar Aug 01 '2018 16:08 Ryosuke Hujisawa