javascript assignment operators explained