मैं कैसे परीक्षण कर सकते हैं अगर एक जावास्क्रिप्ट वस्तु Google Closure inheritance mechanism का उपयोग कर एक अंतरफलक के एक कार्यान्वयन है में इंटरफ़ेस के कार्यान्वयन है?टेस्ट अगर वस्तु गूगल बंद वर्ग ढांचे
मैं new my.Dog()
और object instanceof my.Animal
के माध्यम से बनाया काम नहीं किया वस्तुओं में my.Animal
के किसी भी संकेत नहीं मिल सका। इंटरफ़ेस के बारे में एकमात्र जानकारी बच्चे वर्ग में विधियों को लागू करने के लिए भूल जाते समय संकलक त्रुटियां होती हैं।
/**
* @interface
*/
my.Animal = function() {};
/**
* Does something.
* @return {string}
*/
my.Animal.prototype.doSomething;
/**
* @constructor
* @implements {my.Animal}
*/
my.Dog = function() {};
/** @inheritDoc */
my.Dog.prototype.doSomething() = function {
return "something";
}
var dog = new my.Dog();
console.log(dog instanceof my.Animal); // returns false
एक तरह से मैंने पाया, इंटरफेस की संपत्ति के लिए लगभग परीक्षण करने के लिए है, हालांकि है कि इतने सारे पहलुओं के बारे में बुरा है:
console.log(!!dog.doSomething); // returns true
मैं क्या गलत करने से पहले downvoted होने के बारे में एक टिप्पणी पाने के लिए प्यार होता। –