18 lines
361 B
JavaScript
18 lines
361 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var Type = require('./Type');
|
||
|
|
||
|
// https://262.ecma-international.org/5.1/#sec-11.9.6
|
||
|
|
||
|
module.exports = function StrictEqualityComparison(x, y) {
|
||
|
var xType = Type(x);
|
||
|
var yType = Type(y);
|
||
|
if (xType !== yType) {
|
||
|
return false;
|
||
|
}
|
||
|
if (xType === 'Undefined' || xType === 'Null') {
|
||
|
return true;
|
||
|
}
|
||
|
return x === y; // shortcut for steps 4-7
|
||
|
};
|