클래스 정의가 상속을 통해 제공되는지 또는 특정 메소드를 제공 하는지를 확인해야합니다. 이 작업을 수행하려면 프로토 타입 체인을 사용해야합니까?메소드가 JavaScript 클래스에 정의되어 있는지 확인하려면 어떻게해야합니까?
function TestClass(config){
//NOTE: cannot instantiate class because if config not valid Error is thrown
}
TestClass.prototype.sampleMethod = function(){};
function isDefined(klass){
console.log(typeof klass.sampleMethod); //'undefined'
console.log('sampleMethod' in klass); //false
console.log(klass['sampleMethod']); //undefined
console.log(typeof klass.prototype.sampleMethod); //'function' ...inheritance?
}
isDefined(TestClass);
또한 메서드가 진정한 함수인지 ala (typeof 메서드 === 'function')가 아닌 진정한 함수인지 확인하는 것이 좋습니다. – sonicwizard