JavaScript: who, what, where, why and next