JavaScript에서 instanceof를 사용하는 방법 알아보기
JavaScript에서 instanceof는 연산자입니다. 연산자는 계산 또는 논리에 사용됩니다. instanceof 연산자는 피연산자(연산을 수행하는 대상)가 전달한 값의 인스턴스인지 확인합니다. 인스턴스를 사용할 때 피연산자는 왼쪽에, 전달하는 값은 오른쪽에 배치합니다. 이는 아래 예에 나와 있습니다.
someoperand instanceof somevalue
예
instanceof 연산자를 사용하면 피연산자가 전달한 값의 인스턴스인지 확인하고 값의 프로토타입 체인도 확인합니다. 반환 값은 항상 부울(true 또는 false)입니다. 몇 가지 기본적인 예를 살펴보는 것으로 시작하겠습니다.
const pets = {
amount: 4
};
pets instanceof String
//Returns ---> false
pets instanceof Number
//Returns ---> false
pets instanceof Object
//Returns ---> true
위의 예에서 우리는 애완동물이라는 변수에 저장된 객체 리터럴을 생성합니다. 애완 동물 개체 내부에 값이 4인 amount라는 속성을 만듭니다. 다음으로 instanceof 연산자를 사용하여 애완 동물이 String, Number 및 Object의 인스턴스인지 확인합니다. 문자열과 숫자는 모두 false를 반환합니다. 애완 동물 내부에 저장된 값은 숫자이지만 개체 내부의 속성이 아닌 개체 자체를 확인하고 있습니다. 애완동물은 개체이므로 애완동물이 개체의 인스턴스인지 확인하면 true가 됩니다.
다른 예를 살펴보겠습니다.
const greeting = "Hello"
greeting instanceof String
//Returns false
위의 예에서 우리는 greeting이라는 변수를 선언하고 여기에 문자열 Hello를 할당합니다. 다음으로 인사말이 String의 인스턴스인지 확인합니다. 우리는 거짓을 얻습니다. 이것은 당신을 놀라게 할 수 있습니다. instanceof 연산자를 사용할 때 유형을 확인하지 않고 String 개체의 인스턴스인지 확인합니다. 인사말 변수를 만들 때 문자열 리터럴을 사용하므로 실제로 문자열의 인스턴스가 아닙니다. 이것이 true를 반환하려면 다음을 수행해야 합니다.
const greeting = new String("Hello")
greeting instanceof String
//Returns ---> true
instanceof 연산자는 클래스로 작업할 때 무언가가 클래스의 객체인지 확인하려고 할 때 유용할 수 있습니다. 이에 대한 예를 살펴보겠습니다.
class Car {}
const honda = new Car()
honda instanceof Car
//Returns ---> true
마지막 예시로 이 글을 마무리하겠습니다.
const arr = [1, 2, 3]
arr instanceof Array
//Returns ---> true
arr instanceof Object
//Returns ---> true
위의 예에서 나는 arr이라는 변수를 선언하고 일부 값을 포함하는 배열에 할당합니다. 다음으로 instanceof 연산자를 사용하여 arr이 instanceof Array인지 확인합니다. 그래서 나는 진정한 반환을 얻습니다. 다음으로 그것이 Object의 인스턴스인지 확인합니다. 나는 또한 진정한 반환을 얻습니다. 기능이 유사한 방식으로 작동할 것으로 예상할 수 있습니다. 그 이유는 프로토타입 체인의 Object에서 상속되기 때문입니다.
이 기사를 즐겼기를 바랍니다. 댓글, 질문 또는 피드백을 자유롭게 게시하고 더 많은 콘텐츠를 보려면 저를 팔로우하세요!
Reference
이 문제에 관하여(JavaScript에서 instanceof를 사용하는 방법 알아보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codecupdev/learn-how-to-use-instanceof-in-javascript-3b0i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)