JavaScript에서 객체의 클래스를 결정하는 가장 좋은 방법은 무엇이 될 수 있습니다. 'o'객체의 클래스를 결정해야한다면 ...자바 스크립트에서 객체의 클래스를 결정하십시오.
function findClass(o){
return Object.prototype.toString.call(o).slice(8,-1);
}
하지만 우리는 사용자 정의 클래스가있을 때이 방법이 도움이되지 않습니다.
JavaScript에서 객체의 클래스를 결정하는 가장 좋은 방법은 무엇이 될 수 있습니다. 'o'객체의 클래스를 결정해야한다면 ...자바 스크립트에서 객체의 클래스를 결정하십시오.
function findClass(o){
return Object.prototype.toString.call(o).slice(8,-1);
}
하지만 우리는 사용자 정의 클래스가있을 때이 방법이 도움이되지 않습니다.
자바에서 객체를 쉽게 찾을 수는 없습니다.
예 :
function Foo() {}
var foo = new Foo();
typeof Foo; // == "function"
typeof foo; // == "object"
foo instanceof Foo; // == true
foo.constructor; // == Foo
Foo.prototype.isPrototypeOf(foo); // == true
예 .. 나는 거의 모든 것에 대해 연구했습니다. 그것은 오리 입력에 – nyxem1
둘 다 동일한 프로토 타입 객체 에서 상속하는 경우 두 객체가 같은 클래스에 속합니다.
맞춤 클래스를 처리 할 때 클래스 검사를 효과적으로 수행하려면 (위 Ivan Grgurevic에서 제안한 것처럼) 명시 적으로 설정하고 proptotype에 대해 알려주는 것이 매우 중요합니다.
예 :
지금// Class constructor
function CustomClass(type) {
// CODE
}
// prototype, all CustomClass objects inherit form this object
Sedcard.prototype = {
constructor: CustomClass, // explicit set constructor, backwards reference
// Class method
};
당신이 safetly 같은 검사를 사용할 수 있습니다 대해서 typeof, instanceof를하고 Foo.prototype.isPrototypeOf (foo는)
비록처럼 직접,이 JS에 매우 어려운 주제입니다 JS book "Javascript, 최종 가이드"http://shop.oreilly.com/product/9780596805531.do과 같은 강좌를 통해 작동 방식을 깊이 이해할 것을 권장합니다. 에서는 CustomClass instanceof를
R : instanceof 연산자가 실제로 r은 생성자에 의해 초기화 여부를 확인하지 않습니다
는이 주제에 대한 자세한 비트. 프로토 타입을 에서 상속하는지 여부를 확인합니다. 그럼에도 불구하고 구문의 instanceof는 클래스의 공개 ID로 생성자의 사용을 강화합니다.
o instanceof c의 표현식은 o가 c.prototype에서 상속되면 true로 평가됩니다. 상속은 직접적 일 필요는 없습니다. o가 개체를 상속 한 경우 c.prototype에서 상속 한 개체 을 상속 한 개체는 여전히 true로 평가됩니다.
두 인용문은 내가 추천 한 이전 책에서 인용 한 것입니다.
결국 내가 원하는 걸 가까이에 있지만 마지막 견적을 직접 복사 한 일부 참조 r, o, c 명확하지 않습니다. 귀하의 참조가 그 책에서 나온 것으로 알고 있지만 예제 코드도 제공해야합니다. 노력해 주셔서 감사합니다. – nyxem1
예, 맞습니다. 첫 번째 인용문에 예제를 추가하는 것을 잊어 버렸습니다. 두 번째 예제에서는 무작위로 명명 한 예제입니다. 객체 -> 클래스 -> c – avcajaraville
자바 스크립트에서 모든 것이'Object'입니다. – Arjuna
그것은 함수의 인스턴스일까요? [instanceof] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof)? – CodingIntrigue
@kviiri 예 알아요 ....하지만 내 질문을 알지 못 했어. – nyxem1