null/undefined treated as valid only for left side of comparison operators
- Dominant language
- JavaScript
- Stars
- 15.1k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
Using `mathjs@5.4.1`
When the null value is on the right side, the correct error is thrown (`actual: null`):
```
> require('mathjs').eval('1 > null')
TypeError: Unexpected type of argument in function larger (expected: number or Array or DenseMatrix or SparseMatrix or string or boolean or Matrix or BigNumber or Complex or Fraction, actual: null, index: 1)
```
However, when the null value is on the left side, the error mistakenly identifies the right side as the source of the problem (`actual: number`):
```
> require('mathjs').eval('null > 1')
TypeError: Unexpected type of argument in function larger (expected: Array or DenseMatrix or SparseMatrix or Matrix, actual: number, index: 1)
```
Contributor guide
Assessment
This issue has not been assessed yet.