josdejong/mathjs

null/undefined treated as valid only for left side of comparison operators

Open

#1,391 创建于 2019年1月31日

在 GitHub 查看
 (11 评论) (0 反应) (0 负责人)JavaScript (13,832 star) (1,298 fork)batch import
bughelp wanted

描述

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)

贡献者指南

null/undefined treated as valid only for left side of comparison operators · josdejong/mathjs#1391 | Good First Issue