2015-06-02 5 views
15

जेएस में, एक खाली वस्तु के लिए शॉर्टेंड है जो {} है। क्या जेएस में खाली function के लिए शॉर्टेंड है?Node.js में खाली फ़ंक्शन के लिए शॉर्टंड

कारण, क्योंकि कार्य प्रथम श्रेणी की वस्तुएं हैं, हम उन्हें अक्सर तर्क के रूप में उपयोग करते हैं, लेकिन एक खाली कार्य में गुजरना सबसे अच्छा बदसूरत है।

var foo = baz(function(){}); 

आदेश somepoint में एक समारोह की घोषणा करने में हम function(){} घोषित करने के लिए है।

मैं अधिक (node.js एपीआई को एक (कॉलबैक) फ़ंक्शन को पारित करने की आवश्यकता के लिए अधिक चाहता हूं, इसलिए एपीआई धोखे से सिंक्रोनस नहीं दिखता है। शायद उस दिशा में एक कदम खाली प्लेसहोल्डर कार्यों के लिए शॉर्टेंड बनाना होगा।

+2

नहीं, ऐसा नहीं है। –

+3

एक फ़ंक्शन बनाने और पुन: उपयोग के लिए एक चर में संदर्भित करने के बारे में कैसे? –

+2

मुझे लगता है कि आप ईएस 6 फीचर्स को सक्षम कर सकते हैं और तीर फ़ंक्शन सिंटैक्स 'ए => 0' –

उत्तर

22

नहीं, ऐसा नहीं है। ईएस 6 के साथ, आप एक तीर फ़ंक्शन का उपयोग करने में सक्षम हो सकते हैं: ()=>{} जो थोड़ा छोटा है।

आप वास्तव में इस बहुत बार (आप ?! नहीं होना चाहिए) की जरूरत है, तो आप एक अपने आप को घोषणा कर सकते हैं:

function noop(){} 

और फिर बार-बार उस का संदर्भ लें। यदि आप अपने दायरे को अव्यवस्थित नहीं करना चाहते हैं, तो आप Function.prototype फ़ंक्शन (एसआईसी!) का भी उपयोग कर सकते हैं जो लगातार undefined वापस नहीं करता है - फिर भी यह वास्तव में आपके फ़ंक्शन अभिव्यक्ति से अधिक लंबा है।

+0

हाँ, ठीक है धन्यवाद, मैंने पहले नोप प्रतिमान देखा है लेकिन यह नहीं पता था कि इसका क्या अर्थ है - मुझे लगता है कि "कोई ऑपरेशन" के लिए नोप खड़ा है। –

+2

[हां बिल्कुल] (https://en.wikipedia.org/wiki/NOP) – Bergi

+0

यह शायद इस स्थिति में सबसे अच्छा विकल्प है। उदाहरण के लिए, शून्य से खाली फ़ंक्शन() {} को पास करने के लिए बेहतर है। –

संबंधित मुद्दे