add isNegativeZero

This commit is contained in:
Stefan Feješ
2018-11-12 14:45:36 +01:00
parent 67a83c10be
commit b723a931b7
3 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,14 @@
### isNegativeZero
Checks if the given value is a negative zero `-0`.
Checks whether a passed value is equal to `0` and if one devided by the value equals `-Infinity`.
```js
const isNegativeZero = val => val === 0 && 1 / val === -Infinity;
```
```js
isNegativeZero(-0); // true
isNegativeZero(0); // false
```

View File

@ -145,6 +145,7 @@ isEmpty:type,array,object,string,beginner
isEven:math,beginner
isFunction:type,function,beginner
isLowerCase:string,utility,beginner
isNegativeZero:math,utility,beginner
isNil:type,beginner
isNull:type,beginner
isNumber:type,math,beginner

View File

@ -0,0 +1,15 @@
const expect = require('expect');
const { isNegativeZero } = require('._30s.js');
test('isNegativeZero is a Function', () => {
expect(isNegativeZero).toBeInstanceOf(Function);
});
test('0 is not a -0', () => {
expect(isNegativeZero(0)).toBeFalsy();
});
test('-0 is a negative zero', () => {
expect(isNegativeZero(-0)).toBeTruthy();
});
test('1 is not a negative zero', () => {
expect(isNegativeZero(1)).toBeFalsy();
});