为什么在JavaScript中分配Infinity不会返回错误,但是不起作用?

Sap*_*ick 4 javascript variables variable-assignment infinity

为什么在尝试重新分配时无穷大但没有分配错误?

var x = 3;

x = 1; //good, normal
true = 3; //Error, normal

Infinity = 4; //no error

console.log(Infinity); //Infinity
Run Code Online (Sandbox Code Playgroud)

Chr*_*tos 5

如您在这里阅读:

无限是全局对象的属性,换句话说,是全局范围内的变量。

由于它是全局属性,因此您可以访问它并分配任何值。但是,当您处于严格模式时为非可写属性分配值不会引发任何异常,并且不会更改该属性的值。

如果使用“严格模式”,则会引发异常。

"use strict"

Infinity = 4;
Run Code Online (Sandbox Code Playgroud)