>웹 프론트엔드 >JS 튜토리얼 >JavaScript가 개체를 기록할 때 '[object Object]'를 표시하는 이유는 무엇입니까?

JavaScript가 개체를 기록할 때 '[object Object]'를 표시하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-13 18:53:12475검색

Why Does JavaScript Display

JavaScript의 "[object Object]" 이해

JavaScript에서 값을 경고하거나 기록하려고 할 때 "[object Object]" 문자열이 나타날 수 있습니다. 객체. 이 문자열은 객체의 기본 직렬화를 나타내며 객체 유형에 대한 통찰력을 제공합니다.

"[객체]" 대신 "[객체 객체]"를 사용하는 이유는 무엇입니까?

일부 프로그래밍 언어와 달리 JavaScript 다양한 객체 유형을 가지고 있습니다. 각 유형은 생성자 함수로 식별됩니다. 다음 예는 다양한 객체 유형의 직렬화를 보여줍니다.

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

stringify(function () {}); // [object Function]
stringify([]); // [object Array]
stringify(/x/); // [object RegExp]
stringify(new Date); // [object Date]
stringify({}); // [object Object]

JavaScript에서 "객체"(소문자)라는 용어는 일반적으로 사물의 구조적 특성을 나타냅니다. 그러나 "개체"를 구체적으로 논의할 때 개발자는 일반적으로 "개체 개체"(대문자)를 의미합니다. 이는 이러한 객체에 대한 생성자 함수를 Object라고 부르기 때문입니다.

함수에서 객체 반환

제공된 코드에서 whichIsVisible() 함수는 표시되는 요소를 나타내는 객체를 반환합니다. 반환 값에 대한 경고를 시도하면 JavaScript는 개체를 "[object Object]"로 직렬화합니다. 이는 개체 개체이기 때문입니다.

직렬화된 문자열이 아닌 실제 요소를 표시하려면 함수를 수정하여 반환할 수 있습니다. 대신 요소의 ID:

function whichIsVisible() {
    if (!.is(':hidden')) return .attr('id');
    if (!.is(':hidden')) return .attr('id');
}

위 내용은 JavaScript가 개체를 기록할 때 '[object Object]'를 표시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.