我正在研究JavaScript的数字类型系统。
使用Chrome时,对于数字文字,当我评估
当我评估
如预期的那样,
然而令我惊讶的是,与其他数字不同,
总之:
为什么
使用Chrome时,对于数字文字,当我评估
15--
时,由于减量常量没有意义,所以会得到ReferenceError
错误。当我评估
var x=10;x--;
时,一切都按预期工作。如预期的那样,
var a=Infinity;a--
求值为Infinity
,这很合理并且符合Javascript语言规范。然而令我惊讶的是,与其他数字不同,
Infinity--
和Infinity++
的求值结果均为Infinity
。
Number.POSITIVE_INFINITY
也是如此。总之:
为什么
Infinity--
的结果是无穷大,而15--
和(new Number(15))--
却会产生引用错误?