1234567891011121314151617181920 |
- 'use strict';
- var SameValueNonNumeric = require('./SameValueNonNumeric');
- var Type = require('./Type');
- var BigIntEqual = require('./BigInt/equal');
- var NumberEqual = require('./Number/equal');
- // https://262.ecma-international.org/13.0/#sec-isstrictlyequal
- module.exports = function IsStrictlyEqual(x, y) {
- var xType = Type(x);
- var yType = Type(y);
- if (xType !== yType) {
- return false;
- }
- if (xType === 'Number' || xType === 'BigInt') {
- return xType === 'Number' ? NumberEqual(x, y) : BigIntEqual(x, y);
- }
- return SameValueNonNumeric(x, y);
- };
|