In principle, I agree that language extensions aren't evil as long as the compiler (or browser) adheres to the standard. In practice, it's a bad idea.
Assuming that you design an useful feature, based on an actual need, there are several possible disasters that might happen:
- the relevant standard body decides to implement that feature, but with a different syntax. Politics aside, that's quite likely to happen as nobody is perfect and they have the 20/20 hindsight your implementation provides. You end up with a compiler that implements the same feature in two different ways, one of which (yours) is considered inferior. Ouch.
- the standard body decides to implement that feature, but with different semantics. You have to decide whether it's better to break everybody's code and documentation or fail to implement the standard correctly.
- Worst of all: the standard body decides to implement an unrelated, but more visible feature whose syntax clashes with yours. Good luck fixing that.
If the browser wars taught us anything is that the only way to properly extend a standard is to participate and put pressure on the committees. With a big smile, of course.