I felt tempted to close this as a duplicate of the sodium acetate notation question, because of my answer there, but the question in itself does not ask the same thing, so I’ll just rewrite the relevant parts of my answer.
In short, there is no correct formula. Depending on which point you want to bring across, you can use either, and depending on the context, $\ce{ClNaO}$ may also be acceptable.
Structually, you are correct with your assumption; the oxygen bears the negative charge. But that doesn’t include any implication that the formula should be written that way; compare $\ce{SO4^2-}$ where the charge is also on the oxygen atoms and yet they come last.
In fact, that leads us to our first clue. By convention, oxygen atoms are typically written last; compare $\ce{ClO3- , ClO4- , BrO3-}$ and others. You could probably explain that with electronegativity, the convention being that electronegative elements come last. This assumption argues for $\ce{NaClO}$.
On the other hand, the corresponding acid $\ce{HOCl}$ is often understood as derived from water $\ce{HOH}$, replacing a hydrogen with a chlorine atom. From this starting point, it makes sense to write $\ce{NaOCl}$, because then you replaced the other hydrogen; this time with sodium. It also includes a resemblance to $\ce{NaOH}$.
Both ways can thus be supported by the reasons given above. In practice, I think I have always seen the substance being referred to as $\ce{NaOCl}$ but I could simply have ignored the occurances of $\ce{NaClO}$.