[
[], // ' ', пусто потому что массив не содержит элементов
{}, //[object Object] потому что нет length
[].toString(), // '' пусто
{}.toString(), // [object Object]
{} + {}, //{}.toString() + {}.toString() [object Object][object Object]
[] + [], // ' ' + ' ' = ' '
+[], // 0, потому что (' ' == 0) = true, т.е. срабатывает неявное преобразование [].valueOf()
+{} //NaN
];
В остальном все зависит от реализации