ES6 has 'let', while CoffeeScript has an '=' that might be local binding and might be nonlocal assignment, depending on what's in scope. I wanted to like CS, but I don't want to live with that one decision.
The scoping issues with CoffeeScript is what triggered me creating this little language: http://batiste.info/CokeScript/
At this point it still a bit of a joke, but if I have more time to work on it I could take to a usable state.