क्रोम में console
ऑब्जेक्ट दो तरीकों को परिभाषित करता है जो एक ही काम करते हैं:
console.log(...)
console.dir(...)
मैंने कहीं ऑनलाइन पढ़ा है जो dir
इसे लॉग इन करने से पहले ऑब्जेक्ट की एक कॉपी लेता है, जबकि log
बस कंसोल के संदर्भ को पास करता है, जिसका अर्थ है कि जब तक आप लॉग किए गए ऑब्जेक्ट का निरीक्षण करने जाते हैं, तब तक यह बदल सकता है। हालांकि कुछ प्रारंभिक परीक्षण से पता चलता है कि कोई अंतर नहीं है और वे दोनों अलग-अलग राज्यों में संभावित रूप से प्रदर्शित वस्तुओं से पीड़ित हैं जब वे लॉग इन थे।
क्रोम कंसोल ( Ctrl+ Shift+ J) में यह देखने की कोशिश करें कि मेरा क्या मतलब है:
> o = { foo: 1 }
> console.log(o)
> o.foo = 2
अब, [Object]
लॉग स्टेटमेंट के नीचे का विस्तार करें और ध्यान दें कि यह foo
2 के मान से पता चलता है। यदि आप dir
इसके बजाय प्रयोग को दोहराते हैं तो यह सच है log
।
मेरा सवाल यह है कि ये दोनों समान रूप से समान कार्य क्यों करते हैं console
?
console.dir
परिवर्तित नहीं किया जाता है, इसलिए यह एक बड़ा अंतर बनाता है।
console.dir()
: यह सुविधा गैर-मानक है ! इसलिए उत्पादन पर इसका इस्तेमाल न करें;)
console.log([1,2])
औरconsole.dir([1,2])
आप अंतर देखेंगे।