2017-09-19 6 views
5

मुझे यह नोटिस हुआ कि Object के रूप में एक चर निर्दिष्ट करते समय, चर का प्रकार एक 'फ़ंक्शन' है, जबकि यदि मैं इसे ऑब्जेक्ट शाब्दिक नोटेशन {} का उपयोग करके खाली ऑब्जेक्ट के रूप में असाइन करता हूं या new Object के रूप में तत्काल करता हूं, तो टाइपफ़ चर वस्तु। यहां क्या अंतर है?ऑब्जेक्ट के रूप में एक चर निर्दिष्ट करने और ऑब्जेक्ट लिटल नोटेशन/ऑब्जेक्ट कन्स्ट्रक्टर नोटेशन के रूप में एक चर निर्दिष्ट करने के बीच क्या अंतर है?

कृपया ध्यान दें, मैं ऑब्जेक्ट शाब्दिक नोटेशन और कन्स्ट्रक्टर नोटेशन के बीच अंतर नहीं पूछ रहा हूं।

enter image description here

+2

'नई वस्तु() के साथ' 'Object' से अलग है। उत्तरार्द्ध एक रचनाकार समारोह है! – Bergi

+0

'typeof' कोई फ़ंक्शन नहीं है, आपको कोष्ठक की आवश्यकता नहीं है। 'टाइप करें;' पर्याप्त है। – Xufox

उत्तर

2

a = Object; एक नई वस्तु बनाने नहीं करता है। यह आपके चर a पर कन्स्ट्रक्टर फ़ंक्शन निर्दिष्ट करता है। एक नया ऑब्जेक्ट बनाने के लिए, इस कोड का उपयोग करें: a = new Object();

7

वैश्विक प्रतीक Object ऑब्जेक्ट कन्स्ट्रक्टर फ़ंक्शन को संदर्भित करता है। एक चर के लिए Object असाइन करना सिर्फ उस संदर्भ की एक प्रति बनाता है, और एक नई खाली वस्तु ({}) के संदर्भ को निर्दिष्ट करने से पूरी तरह अलग है।

शायद आप की सोच रहे हैं:

var a = new Object(); 
var b = {}; 

उन दो बयानों एक ही बात करते हैं।

1

let a = new Object();

एक नई वस्तु, {} के रूप में मुद्रित बनाता है।

let a = {};

एक नई वस्तु, {} के रूप में मुद्रित बनाता है। ऊपर दृष्टिकोण से वास्तव में अलग नहीं है।

let a = Object;

Object निर्माता, बुला यह एक नई वस्तु वापस आ जाएगी, लेकिन यह कोड सम्मेलनों के लिए new कीवर्ड का उपयोग करने के लिए बेहतर अभ्यास है। मैं व्यक्तिगत रूप से जावास्क्रिप्ट में let a = {}; का उपयोग करना चुनता हूं। एक कन्स्ट्रक्टर एक फ़ंक्शन है, यही कारण है कि कंसोल ने आपको बताया कि यह अभी एक फ़ंक्शन बनाया गया है।

4

जब आप एक वस्तु इसे पर संदर्भ देता वस्तु समारोह जबकि जब आप नए वस्तु या {} यह सिर्फ इसके बारे में निर्माता विधि के साथ एक सादे वस्तु बनाता है माता पिता वस्तु के रूप में एक चर निर्दिष्ट

आप और अधिक समझ सकता हूँ स्क्रीनशॉट

enter image description here

enter image description here enter image description here

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