यदि कुछ विफल रहता है तो मैं कन्स्ट्रक्टर ऑब्जेक्ट निर्माण को निरस्त करने की कोशिश कर रहा हूं, उदाहरण के लिए यह कैनवास को पकड़ नहीं सकता है।जावास्क्रिप्ट में नए के साथ बुलाए गए कन्स्ट्रक्टर से नल कैसे वापस करें?
लेकिन जैसा कि मैं new
का उपयोग कर रहा हूं, मुझे लगता है कि klass() हमेशा this
लौटाता है, चाहे कोई वापसी नल या कोई अन्य मूल्य चाहे, क्या मैं इसे वापस शून्य करने के लिए काम कर सकता हूं?
अब मुझे लगता है कि एक समाधान क्लास() के अंदर नया उदाहरण बनाने के लिए हो सकता है और उस उदाहरण या शून्य को वापस कर सकता है, और new
का उपयोग नहीं करता है, क्या कोई बेहतर समाधान है?
function klass(canvas_id) {
var canvas = document.getElementById(canvas_id);
if(! (canvas && canvas.getContext)) {
return null;
}
}
var instance = new klass('wrong_id');
console.log(instance, typeof instance);
आप एक अपवाद फेंक सकते हैं या आप अपने ऑब्जेक्ट में कुछ राज्य सेट कर सकते हैं जिसका परीक्षण किया जा सकता है। – jfriend00