(!+[]+[]+![]).length
// equals to
( !+[] +[] +![] ).length
//equals to
( !0 +[] +!1 ).length
// eq to
( true +[] +false ).length
//eq to.... (тут тупо по спецификации)
( true.valueOf() +[].valueOf() + false.toString() ).length
// and it eq to
("truefalse").length
// result - 9