对象比较:Javascript与Ruby

时间:2015-06-25 02:17:21

标签: javascript ruby

为什么在比较Javascript和Ruby中的2个对象时会有这样的差异? (这很令人困惑)

在Javascript中:

obj1 = [1,2];
obj2 = [1,2];

obj1 == obj2 
// false
Ruby中的

obj1 = [1,2];
obj2 = [1,2];

obj1 == obj2 
# true

1 个答案:

答案 0 :(得分:4)

在Javascript中,数组是对象,==将测试两个对象是否是同一个实例。如果您想比较其内容,请阅读Comparing two arrays in Javascript

在Ruby中,有多种方法可以比较对象。 ==用于比较值,因此它们是相同的。

要比较它们是否是同一个对象,请使用equal?

obj1.equal? obj2
# => false