JavaScript의 hasOwnProperty 함수 메소드는 객체에 지정된 이름의 속성이 있는지 여부를 나타내는 부울 값을 반환합니다.
hasOwnProperty() 사용 방법:
object.hasOwnProperty(proName)
매개변수 개체가 필요합니다. 객체의 인스턴스입니다.
proName이 필요합니다. 속성 이름의 문자열 값입니다.
객체에 지정된 이름의 속성이 있으면 JavaScript의 hasOwnProperty 함수 메서드는 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이 메서드는 속성이 객체의 프로토타입 체인에 있는지 여부를 확인할 수 없습니다. 속성은 객체 자체의 멤버여야 합니다. 다음 예에서 모든 String 객체는 공통 분할 방법을 공유합니다. 아래 코드는 false와 true를 출력합니다.
hasOwnProperty: 객체에 사용자가 지정한 이름을 가진 속성이나 객체가 있는지 확인하는 데 사용됩니다. 그러나 이 메서드는 객체가 프로토타입 체인에 속성을 가지고 있는지 여부를 확인할 수 없다는 점에 유의해야 합니다. 속성은 객체 자체의 멤버여야 합니다. 형식은 다음과 같습니다.
JS 코드
1.객체.hasOwnProperty(proName);
proName의 이름이 개체 개체의 속성인지 개체인지 확인합니다.1. 예시 1:
var bStr = "Test String".hasOwnProperty("split"); // 프로토타입 체인의 속성을 감지할 수 없으므로 false를 얻습니다.
그러나:
"Test String".split(" ")을 성공적으로 호출할 수 있습니다.
2. 예시 2:
var bStr1 = String.prototype.hasOwnProperty("split"); //String 객체의 프로토타입에는 이미 이 속성이 있으므로 자연스럽게 true를 반환합니다.
3. 예시 3
var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest") // 객체의 속성이 존재하므로 true를 반환합니다.
객체 객체
객체 객체 자체는 별로 유용하지 않지만, 다른 클래스를 이해하기 전에 먼저 객체를 이해해야 합니다. ECMAScript의 Object 객체는 Java의 java.lang.object와 유사하므로 ECMAScript의 모든 객체는 이 객체에서 상속됩니다. Object 객체의 모든 속성과 메서드는 다른 객체에 나타나므로 Object 객체를 이해하면 됩니다. 다른 개체를 더 잘 이해합니다.
객체 객체에는 다음과 같은 속성이 있습니다.
생성자
객체를 생성하는 함수에 대한 참조(포인터)입니다. Object 객체의 경우 이 포인터는 원래 Object() 함수를 가리킵니다.
프로토타입
객체의 객체 프로토타입에 대한 참조입니다. 모든 객체에 대해 기본적으로 Object 객체의 인스턴스를 반환합니다.
hasOwnProperty(property)
객체에 특정 속성이 있는지 확인합니다. 이 속성은 문자열로 지정되어야 합니다. (예: o.hasOwnProperty("name"))
IsPrototypeOf(object)
개체가 다른 개체의 프로토타입인지 확인합니다.
PropertyIsEnumerable
for...in 문을 사용하여 주어진 속성을 열거할 수 있는지 여부를 결정합니다.
ToString()
객체의 원시 문자열 표현을 반환합니다. Object 객체의 경우 ECMA-262는 이 값을 정의하지 않으므로 ECMAScript 구현마다 값이 다릅니다.
ValueOf()
이 객체에 가장 적합한 원래 값을 반환합니다. 많은 개체의 경우 이 메서드에서 반환되는 값은 ToString()
의 반환 값과 동일합니다.