当我在浏览器控制台中创建这样的数组时:
var myList = ['home', '',, 'school',,,];
当我在控制台中通过键入myList
打印该值时,将得到如下结果:
(6) ["home", "", empty, "school", empty × 2]
如您所见,数组索引2被标记为空,但是当我显式键入myList[2]
时,它显示为未定义:
undefined
&如果我将其值更改为undefined然后打印出来,它将空值更改为undefined:
myList[2] = undefined;
myList
(6) ["home", "", undefined, "school", empty × 2]
我试图对此进行谷歌搜索,但大多数地方声称为空只是一个字符串为空,但是这里不是这种情况... Array中的尾部逗号未分配任何空字符串,即使在if条件下也是如此仅当针对undefined进行检查时才提供true值,而针对空字符串进行检查则给出false值……其中关键字empty本身不是JavaScript的关键字。