Javascript 为什么可以使用get方法在映射中找到以数组为键的键值对?

Javascript 为什么可以使用get方法在映射中找到以数组为键的键值对?,javascript,dictionary,equals,Javascript,Dictionary,Equals,首先必须说,我的基本知识来自java,而不是js。 我有以下地图: const myMap = new Map(); myMap.set([1,2], 'Test'); myMap.get([1,2]// return undefined 无法理解为什么最后一行代码不返回“Test”。 在java中,使用equals方法检查密钥,js如何检查相等性? 我不是在寻找将返回“Test”的解决方案,只是解释为什么它不返回此特定代码的“Test”?[1,2]!==[1,2]。为什么?它们都是相同的类型

首先必须说,我的基本知识来自java,而不是js。 我有以下地图:

const myMap = new Map();
myMap.set([1,2], 'Test');
myMap.get([1,2]// return undefined
无法理解为什么最后一行代码不返回“Test”。 在java中,使用equals方法检查密钥,js如何检查相等性?
我不是在寻找将返回“Test”的解决方案,只是解释为什么它不返回此特定代码的“Test”?

[1,2]!==[1,2]
。为什么?它们都是相同的类型和相同的值!!!可以在或规范上读取映射在键上是否相等的精确程度。对于上述原因,因为有了引用相等,它们是一个数组的两个独立实例-内部的值相同,但仍然是两个。我已进行了检查,[1,2]==[1,2]也返回false。这是非常不可理解的有数百篇文章详细解释了这一点,并且有很多例子,比我能够和/或愿意在评论中重复的要好——也许有人有一个指向好的复制目标或教程的链接。
[1,2]!==[1,2]
。为什么?它们都是相同的类型和相同的值!!!可以在或规范上读取映射在键上是否相等的精确程度。对于上述原因,因为有了引用相等,它们是一个数组的两个独立实例-内部的值相同,但仍然是两个。我已进行了检查,[1,2]==[1,2]也返回false。这是非常不可理解的有数百篇文章详细解释了这一点,并且有很多例子,比我能够和/或愿意在评论中重复的要好——也许有人有一个链接到一个好的复制目标,或者一个教程。