跳到主要内容

==

使用 == 运算符可以比较两个值是否严格相等。


对于原始值,如果它们的类型和值都相同,则认为它们相等。

5 == 5;            // true
"hello" == "hello"; // true
true == true;      // true
5 == "5";         // false 

特别地,对于 number 类型的值 nan,它与任何值都不相等,包括它自己。

nan == nan; // false 

对于 arrayrecord,只有他们的元素和属性都相等时,才认为它们相等。

[1, 2, 3] == [1, 2, 3]; // true
(a: 1, b: 2) == (a: 1, b: 2); // true
[1, 2, 3] == [1, 2, 4]; // false 

对于 function moduleextern,只有它们引用的是同一个对象时,才认为它们相等。

let fn1 = fn() { return 1; };
let fn2 = fn() { return 1; };
fn1 == fn1; // true
fn1 == fn2; // false