यहां दो वस्तुएं हैं, उपयोगकर्ता और उपयोगकर्ता 1। उपयोगकर्ता को user1 में कॉपी किया जाता है। उपयोगकर्ता को तब शून्य पर असाइन किया जाता है, लेकिन उपयोगकर्ता 1 नहीं बदलता है।
let user = {
name : 'Nagendra Kamath',
age : 22,
goodMorn(){
console.log('Good Morning '+ this.name);
}
};
let user1 = user;
user = null;
user1.goodMorn(); // even if we have assigned user to null the value of user1 remains same
user.goodMorn(); // throws an error
कृपया मुझे बताएं कि यह कैसे संभव है ??
1
Nagendra Kamath
26 मार्च 2020, 14:26
1 उत्तर
सबसे बढ़िया उत्तर
यहां आप एक ऐसी वस्तु बनाते हैं जो स्मृति में मौजूद है, और इस वस्तु का संदर्भ user
है।
let user = {
name : 'Nagendra Kamath',
age : 22,
goodMorn(){
console.log('Good Morning '+ this.name);
}
};
अब आप उसी ऑब्जेक्ट के लिए एक नया संदर्भ user1
असाइन करें।
let user1 = user;
अब आप user
मान null
को असाइन करें
user = null;
लेकिन वस्तु अभी भी मौजूद है, और वस्तु का संदर्भ user1
भी मौजूद है, इसलिए यह ठीक है कि
user1.goodMorn(); // works, because it's still a reference to the object.
user.goodMorn(); // throws an error, because it's value is null
यहां महत्वपूर्ण बात: user1
, user
का संदर्भ नहीं है, क्योंकि user
भी एक संदर्भ है। user1
स्मृति में मूल वस्तु का संदर्भ है, user1
संदर्भ के समान संदर्भ है user
1
qiAlex
26 मार्च 2020, 11:35