>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 값이 객체와 유사한지 확인하는 방법은 무엇입니까?

JavaScript에서 값이 객체와 유사한지 확인하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-24 16:13:02510검색

如何在 JavaScript 中检查一个值是否类似于对象?

JavaScript에서 객체 유사 값은 원시적이지 않고 정의되지 않은 값입니다. 객체형 값은 함수, 배열, 객체를 포함하여 기본 요소가 아닌 모든 값입니다. JavaScript에는 값이 객체인지 확인하는 다양한 방법이 있습니다. 이번 글에서는 자바스크립트에서 값이 클래스 객체인지 확인하는 3가지 방법을 소개하겠습니다.

typeof 연산자 사용

typeof 연산자는 값의 유형을 확인하는 데 사용되는 JavaScript에 내장된 연산자입니다. typeof 연산자는 값의 유형인 문자열을 반환합니다. typeof 연산자를 사용하면 JavaScript의 값이 객체와 유사한지 확인할 수 있습니다.

예제 1

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML ="typeof {}: " + typeof {};
      document.getElementById("result2").innerHTML ="typeof []: " + typeof [];
      document.getElementById("result3").innerHTML ="typeof function(){}: " + typeof function(){};
   </script>
</body>
</html>

위 코드 조각에 대한 자세한 설명은 다음과 같습니다.

스크립트 태그의 첫 번째 문에서는 빈 개체 {}의 유형을 확인하고 있습니다. 이것 typeof 연산자는 빈 개체의 문자열 "object"를 반환합니다. 두 번째 진술에서는 빈 배열 []의 유형을 확인하고 있습니다. typeof 연산자는 문자열을 반환합니다. "객체"는 빈 배열을 의미합니다. 세 번째 문장에서 우리는 익명 함수 function(){}. typeof 연산자는 문자열 "function"을 반환합니다. 익명 기능.

instanceof 연산자 사용:

instanceof 연산자는 값이 있는지 확인하는 데 사용되는 JavaScript에 내장된 연산자입니다. 생성자 함수의 인스턴스입니다. instanceof 연산자는 부울 값을 반환합니다. value, 값이 생성자의 인스턴스이면 true이고, 그렇지 않으면 false입니다. 값은 생성자의 인스턴스가 아닙니다. instanceof 연산자를 사용할 수 있습니다 JavaScript의 값이 객체와 유사한지 확인하세요.

예제 2

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = "Is {} an instance of Object: " + ({} instanceof Object);
      document.getElementById("result2").innerHTML = "Is [] an instance of Array: " +([] instanceof Array);
      document.getElementById("result3").innerHTML ="Is function(){} is an instance of Function: " + (function(){} instanceof Function);
   </script>
</body>
</html>

스크립트 태그의 첫 번째 명령문에서 빈 객체 {}가 객체 생성자의 인스턴스. instanceof 연산자가 반환됩니다. 빈 개체에 대한 부울 값은 true입니다. 두 번째 진술에서 우리는 여부를 확인합니다 빈 array[]는 Array 생성자의 인스턴스입니다. 인스턴스 운영자 빈 배열에 대해 부울 true를 반환합니다. 세 번째 진술에서 우리는 확인하고 있습니다 익명 함수 function(){}이 Function 생성자의 인스턴스인 경우. 익명 함수의 경우 instanceof 연산자는 부울 값 true를 반환합니다.

Object.prototype.toString() 메서드:

Object.prototype.toString() Strong> 메서드는 객체를 문자열로 변환하는 데 사용되는 JavaScript의 내장 메서드입니다. Object.prototype.toString() 메서드를 사용하면 JavaScript의 값이 객체와 유사한지 확인할 수 있습니다.

예제 3

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = Object.prototype.toString.call({})
      document.getElementById("result2").innerHTML = Object.prototype.toString.call([])
      document.getElementById("result3").innerHTML = Object.prototype.toString.call(function(){})
   </script>
</body>
</html>

스크립트 태그 내부의 첫 번째 문에서는 다음을 사용합니다. Object.prototype.toString() 메서드는 빈 객체 {}를 문자열로 변환합니다. 이것 Object.prototype.toString() 메서드는 "[object Object]" 문자열을 반환합니다. 빈 개체.

스크립트 태그 내부의 두 번째 문에서 우리는 Object.prototype.toString() 메서드는 빈 array[]를 문자열로 변환합니다. 이것 Object.prototype.toString() 메서드는 빈 문자열 "[object Array]"를 반환합니다.

세 번째 문에서는 Object.prototype.toString() 메서드를 사용하여 익명 함수 function(){}을 문자열로 변환합니다. 이것 Object.prototype.toString() 메서드는 "[object Function]" 문자열을 반환합니다. 익명 기능.

결론

이 튜토리얼에서는 값이 객체와 유사한지 확인하는 세 가지 방법을 살펴보았습니다. 자바스크립트. 우리는 typeof 연산자, instanceof 연산자 및 Object.prototype.toString() 메서드. 이 모든 방법은 값이 다음과 같은지 확인하는 데 사용될 수 있습니다. JavaScript의 객체와 유사합니다.

위 내용은 JavaScript에서 값이 객체와 유사한지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제