JavaScript中的多个和单个数组名称

jur*_*ibe 4 javascript arrays string google-chrome

我对Chrome 59.0.3071.115中此代码的行为感到非常困惑:

var names = ["Cat 1", "Cat 2"];
console.log(names);
Run Code Online (Sandbox Code Playgroud)

打印一个数组对象,但是

var name = ["Cat 1", "Cat 2"];
console.log(name);
Run Code Online (Sandbox Code Playgroud)

打印字符串"Cat 1, Cat 2".

为什么会这样?

tri*_*cot 5

name是一个预定义的的getter/setter属性window对象,并且将始终是一个字符串数据类型.因此,当您分配给它时,您没有分配给变量,而是使用setter,它将给定值转换为字符串.