ही नाम के साथ एक चर का उपयोग करके डिफ़ॉल्ट मान निर्दिष्ट करके एक संदर्भ त्रुटि फेंक:जे एस डिफ़ॉल्ट तर्क मूल्य: क्यों अलग हो पहचानकर्ता चाहिए?
var a = 'adef';
var x = (a=a) => console.log(a);
x();
=> "ReferenceError: a is not defined"
लेकिन यह ठीक है:
var other = 'otherdef';
var x = (a=other) => console.log(a);
x();
=> "otherdef"
मेरे धारणा यह थी कि बाहरी दायरे में a
का मूल्य होगा नए दायरे को सौंपा जाना चाहिए।
मैं का उपयोग कर var
के बजाय const
की कोशिश की है, और एक तीर-समारोह के बजाय class
/function
, लेकिन परिणाम हमेशा एक ही है (क्रोम 63 और नोड 6 में परीक्षण किया गया)।
मैं एक महसूस कर रही मुद्दा है कि a
काम के दौरान 'फहराया' और इतने काम (जो मौजूद है, लेकिन अपरिभाषित है) नई 'एक' की चर्चा करते हुए है ...
हाँ, 'A' वास्तव में [फहराया] है (https://stackoverflow.com/q/31219420/1048572) [पैरामीटर गुंजाइश] में (https://stackoverflow.com/q/44896829/1048572) – Bergi