programing

[Object Object]의 의미는 무엇입니까?

bestprogram 2023. 8. 30. 21:52

[Object Object]의 의미는 무엇입니까?

하려고 합니다.alert함수에서 반환된 값을 입력하면 경고에서 다음과 같이 표시됩니다.

[object Object]  

자바스크립트 코드는 다음과 같습니다.

<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>

whichIsVisible제가 확인하려고 하는 기능입니다.

다른 사람들이 언급했듯이, 이것은 객체의 기본 직렬화입니다.그런데 왜 그럴까요?[object Object] 만아라니가 .[object]?

왜냐하면 자바스크립트에는 다른 종류의 객체들이 있기 때문입니다!

  • 함수 개체:
    stringify(function (){})->[object Function]
  • 배열 개체:
    stringify([])->[object Array]
  • 파일
    stringify(/x/)->[object RegExp]
  • 객체:
    stringify(new Date)->[object Date]
  • 개 더 …
  • 및 객체 객체!
    stringify({})->[object Object]

이 생자함수호때출문다니입기되가성▁is다▁the▁called니▁that때입라고 하기 때문입니다.Object("O"로 표시), "객체"(작은 "O"로 표시)는 사물의 구조적 특성을 나타냅니다.

일반적으로 Javascript에서 "객체"에 대해 말할 때, 다른 유형이 아니라 실제로 "객체"를 의미합니다.

stringify 해야 합니다.

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

은 "" " " " " " 입니다."[object Object]".

jQuery 개체를 처리할 때 다음 작업을 수행할 수 있습니다.

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

요소의 ID를 인쇄합니다.

등 .console.log(whichIsVisible())alert.

참고 사항:ID는 숫자로 시작하면 안 됩니다.

[object Object]javascript에서 객체의 입니다.

개체의 속성을 알고 싶다면 다음과 같이 개체에 대해 각각의 속성을 확인합니다.

for(var property in obj) {
    alert(property + "=" + obj[property]);
}

특정한 경우에는 jQuery 개체가 표시됩니다.대신 다음 작업을 수행합니다.

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

그러면 ID에 가시적인 요소가 표시됩니다.

다음과 같이 [ObjectObject] 내부의 값을 볼 수 있습니다.

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

이렇게 해보세요.

    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)  );

언급

https://off.sys/sys/sys-native-object-object/

기본 사항

당신은 그것을 모를 수도 있지만, 자바스크립트에서 우리가 문자열, 숫자 또는 부울 원시 요소와 상호 작용할 때마다 우리는 객체 그림자와 강요의 숨겨진 세계로 들어갑니다.

문자열, 숫자, 부울, null, 정의되지 않음 및 기호입니다.

유형이 : 자스개립트 7의원유있습다니형이시.undefined,null,boolean,string,number,bigint그리고.symbol다른 모든 것은 물체입니다.boolean,string그리고.number개체로 묶을 수 있습니다.은 입니다.Boolean,String그리고.Number각각의 건설자들.

typeof true; //"boolean"
typeof new Boolean(true); //"object"

typeof "this is a string"; //"string"
typeof new String("this is a string"); //"object"

typeof 123; //"number"
typeof new Number(123); //"object"

에 속성이 왜 원시요없경우는속, 왜?"this is a string".length값을 반환하시겠습니까?

왜냐하면 자바스크립트는 원시와 객체 사이에서 쉽게 강요할 것이기 때문입니다.이 경우 속성 길이에 액세스하기 위해 문자열 값이 문자열 개체에 강제로 적용됩니다.끈 모양의 물체는 단 몇 초 동안만 사용되며 그 후 쓰레기 수집의 신들에게 제물이 됩니다. 하지만 TV 디스커버리 쇼의 정신에 따라, 우리는 이 이해하기 어려운 생물을 함정에 빠뜨리고 추가 분석을 위해 보존할 것입니다.

이를 입증하기 위해 String 생성자 프로토타입에 새 속성을 추가하는 다음 예를 고려합니다.

String.prototype.sampleProperty = 5;
var str = "this is a string";
str.sampleProperty;            // 5

이 방법을 통해 원시 요소는 각 객체 생성자에 의해 정의된 모든 속성(메소드 포함)에 액세스할 수 있습니다.

그래서 우리는 원시 유형이 필요할 때 각각의 대상에게 적절하게 강요할 것이라는 것을 보았습니다.

『 』 toString()방법

다음 코드를 고려합니다.

var myObj    = {lhs: 3, rhs: 2};
var myFunc   = function(){}
var myString = "This is a sample String";
var myNumber = 4;
var myArray  = [2, 3, 5];

myObj.toString();     // "[object Object]"
myFunc.toString();    // "function(){}"
myString.toString();  // "This is a sample String"
myNumber.toString();  // "4"
myArray.toString();   // "2,3,5"

위에서 논의한 바와 같이, 실제로 일어나고 있는 일은 우리가 전화를 할 때입니다.toString()원시 형식의 메서드는 메서드를 호출하기 전에 개체에 강제로 적용해야 합니다.
myNumber.toString()는 와동합다니등다에 합니다.Number.prototype.toString.call(myNumber)그리고 유사하게 다른 원시적인 유형에 대해서도.

하지만 원시적인 유형이 전달되는 대신에toString() Object 로, 는 primitive 합니다.toString() 함수 생성자의 방법( Object constructorObject.prototype.toString.call(x))?

Object.prototype.toString() 자세히 보기

설명서에 따르면 ToString 메서드가 호출되면 다음 단계를 수행합니다.

  1. 에 약에만.this은 은입니다.undefined, 아가다돌다"[object Undefined]".
  2. 에 약에만.this은 은입니다.null, 아가다돌다"[object Null]".
  3. 이 값이의 값이 , 만 이 값 아 니 라 이 면 위 의 값 약 이 , 면 라 ▁if 아 니 ▁let ▁is ▁this 값 ▁value 이 약O전화를 걸어 통과한 결과입니다.this인수로서 값을 매깁니다.
  4. 를 요.[[Class]]의 내부 O.
  5. 세 개 문 열 을 연 결 한 String 반 니 합 다 환 인 을 값 과 의 결 자 ▁strings ▁that ▁the ▁return ▁of 니 다 합 ating aten 세 ▁result 반 ▁value ▁the ▁conc 환 ▁string ▁three 개 ▁the▁is 을"[object ",class,그리고."]".

다음 예제에서 이를 이해합니다.

var myObj       = {lhs: 3, rhs: 2};
var myFunc      = function(){}
var myString    = "This is a sample String";
var myNumber    = 4;
var myArray     = [2, 3, 5];
var myUndefined = undefined;
var myNull      = null;

Object.prototype.toString.call(myObj);        // "[object Object]"
Object.prototype.toString.call(myFunc);       // "[object Function]"
Object.prototype.toString.call(myString);     // "[object String]"
Object.prototype.toString.call(myNumber);     // "[object Number]"
Object.prototype.toString.call(myArray);      // "[object Array]"
Object.prototype.toString.call(myUndefined);  // "[object Undefined]"
Object.prototype.toString.call(myNull);       // "[object Null]"

참고 자료: https://es5.github.io/x15.2.html#x15.2.4.2 https://es5.github.io/x9.html#x9.9 https://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/

이 값은 해당 개체의 함수에 의해 반환되는 값입니다.


당신이 무엇을 하려고 하는지 이해합니다. 왜냐하면 어제 어떤 div를 볼 수 있는지 결정하는 것에 대한 당신의 질문에 대답했기 때문입니다.:)
whichIsVisible()함수는 실제 jQuery 개체를 반환합니다. 프로그래밍 방식으로 더 유용할 것으로 생각했기 때문입니다.디버깅 목적으로 이 기능을 사용하려면 다음과 같은 작업을 수행하면 됩니다.

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

즉, 당신은 정말로 적절한 디버거를 사용해야 합니다.alert()문제를 디버깅하려는 경우.Firefox를 사용하는 경우 Firebug가 좋습니다.IE8, Safari 또는 Chrome을 사용하는 경우 기본 디버거가 있습니다.

[object Object]는 JavaScript JavaScript의 입니다.Object이 이 코드를 수 입니다: 드코를실행다같수얻있다습니이을이.

alert({}); // [object Object]

다음을 재정의하여 기본 표현을 변경할 수 있습니다.toString방법: 예를 들어 다음과 같습니다.

var o = {toString: function(){ return "foo" }};
alert(o); // foo

제 생각에 가장 좋은 방법은JSON.stringify()데이터를 매개 변수로 전달합니다.

alert(JSON.stringify(whichIsVisible()));

Javascript 개체가 있습니다.

$1그리고.$2재리객체, 사가능을 사용할 수 .alert($1.text());문자를 받거나alert($1.attr('id'); 타기......

당신은 치료해야 합니다.$1그리고.$2 jQuery 객체Query 객체와 같습니다.

개체를 반환하려고 합니다.객체를 문자열로 표현할 수 있는 좋은 방법이 없기 때문에 객체는.toString()으로 값은자동설니정다됩로로 됩니다."[object Object]".

다음 예를 생각해 보십시오.

const foo = {};
foo[Symbol.toStringTag] = "bar";
console.log("" + foo);

어떤 출력

[object bar]

기본적으로 자바스크립트의 모든 객체는 태그로 속성을 정의할 수 있습니다.Symbol.toStringTag출력을 덮어씁니다.

백그라운드에서 "toString" 메서드를 사용하여 일부 개체에서 Javascript 프로토타입으로 새 개체를 구성합니다.기본 개체는 이 메서드를 속성으로 제공하며, 이 메서드는 태그를 내부적으로 호출하여 개체를 문자열로 강제하는 방법을 결정합니다.태그가 있으면 해당 태그가 사용되고, 누락되면 다음과 같이 표시됩니다."Object".

설정해야 합니까?Symbol.toStringTag 하지끈의상 는 하 지 것 은 항 에 만[object Object]"진정한" 객체를 위한 것은 최선의 생각이 아닙니다.

객체와는 것 . 단순 객체 및을 수 . Object 인 목 클 작 일 때 클 객 다 것 같 상 른 습 다 니 히 당 는 와 체 인 스 턴 래 스 다음과 같은 간단한 객체 리터럴(키 및 속성 목록)을 사용하여 만들 수 있습니다.let obj={A:'a',B:'b'};또한 Developer Tools Console 창에 표시되고 JSON 문자열로 변환될 때 이 문자 표기법과 매우 유사하기 때문입니다.

그러나 실제로 다른 클래스의 객체(오브젝트에서 파생되거나 확장됨)에서 유일한 실질적인 차이점은 다른 클래스에는 일반적으로 속성(변수) 외에 생성자와 메서드(모든 함수)가 있다는 것입니다.클래스 인스턴스 개체는 'new' 연산자를 사용하여 할당되며, 해당 속성과 메서드는 'this' 변수를 통해 액세스할 수 있습니다.또한 'prototype' 속성을 사용하여 각 새 인스턴스에 복사되는 기본 정적 함수에 액세스할 수 있으며, 프로토타입 개체에 새 함수를 추가하여 시스템 클래스를 확장할 수도 있습니다.

배열 개체도 개체에서 파생되었으며 자주 사용됩니다. 이 개체는 변수 값의 순서가 지정된 0 인덱스 배열입니다.

개체 개체는 배열 및 다른 클래스와 달리 단순히 연관 배열로 처리됩니다(때로는 순서가 지정된 것으로 간주되고 때로는 순서가 지정되지 않은 것으로 간주됨).

언급URL : https://stackoverflow.com/questions/4750225/what-does-object-object-mean