कुछ लोगों की तरह, सी # बहुत उपयोगी है ??
ऑपरेटर जो बायीं ओर अभिव्यक्ति शून्य पर अभिव्यक्ति का मूल्यांकन करता है और दाईं ओर अभिव्यक्ति देता है। यह उदाहरण के लिए, डिफ़ॉल्ट मान प्रदान करने के लिए बहुत उपयोगी है:PHP और ?? ऑपरेटर
int spaces = readSetting("spaces") ?? 5;
तो readSetting
"spaces"
नहीं पा सके और अशक्त देता है, चर spaces
5
का डिफ़ॉल्ट मान पकड़ होगा।
आप हालांकि आप दोनों रूबी और जावास्क्रिप्ट में इस मामले में जावास्क्रिप्ट में spaces
के मूल्य और false
रूप 0
नहीं कर सकता ||
ऑपरेटर के साथ जावास्क्रिप्ट और रूबी में लगभग एक ही कर सकता है,
var spaces = readSetting("spaces") || 5;
में के रूप में ।
पीएचपी or
ऑपरेटर है और हालांकि यह एक भावना है कि यह सही से अभिव्यक्ति वापस नहीं करता है में ||
के रूप में काम नहीं करता है, यह अभी भी यहाँ उपयोगी हो सकता है:
$spaces = readSetting('spaces') or $spaces = 5;
ध्यान दें कि
""
साथ
और "0"
को false
जैसे पीएचपी में false, 0
और null
के साथ अधिकांश भाषाओं में भी माना जाता है।
सवाल यह है कि, क्या मुझे ऊपर से निर्माण का उपयोग करना चाहिए? क्या इसमें बड़े वर्गों के पात्रों को झूठा मानने के अलावा साइड इफेक्ट्स हैं? और क्या वहां कोई बेहतर निर्माण है जिसका उपयोग आमतौर पर PHP समुदाय द्वारा किया जाता है और अनुशंसित किया जाता है?
मैं के लिए किसी भी संदर्भ नहीं देख सकते हैं: जुड़े हुए लेख में। –