اگر حدستون این بود:
[1, 2, 3]
false
false
درست حدس زدید! 🎯
اما چرا؟ 🤔
const b = a.map(Number);
چون map یک آرایه جدید ایجاد میکنه
بنابراین a و b با اینکه دقیقا محتویات یکسانی دارن، اما دو آرایه متفاوت هستن
پس:
b == a // false
b === a // false
چون آرایهها در JavaScript با Reference مقایسه میشن، نه با محتویاتشون
برای مثال:
const a = [1, 2, 3];
const b = a;
console.log(b === a); // true
اینجا "b" و "a" به همون آرایه اشاره میکنن، پس نتیجه "true" میشه
📌 نکته مهم:
[1, 2, 3] === [1, 2, 3] // false
حتی اگر محتویات دو آرایه کاملاً یکسان باشه، چون دو Reference متفاوت دارن، نتیجه "false" خواهد بود.
#JavaScript #JS #Frontend #Programming