Windows版FirefoxのJS実装がなんかおかしい?
先日仕事場で寝ぼけながらJS書いてると、
現場の偉い人から
「IEでエラーになるからなおしといて」
って言われて
「えーでもFirefoxじゃなんもいわれねーっすよこれだからIEは!
みたいなこといいつつ自分で書いたソースを見てみると
function foo(bar = "aa") { ... }
みたいな無茶な実装をしてしまっていたわけなんですが・・・
Javascriptは確か関数の引数初期化は
if(bar === undefined) { bar = "tingisu"; }
みたいな方法でやるのが一般的だったはずで、そもそも変数初期化の記述は構文エラーになるはず。
少なくともIEではエラーが出ている。
なんで!?Firefoxxxxx!
というわけで、まずは以下のような簡単なコード。
foo(); function foo(bar = "aa") { alert(bar); }
Win Chrome
Win Firefox
なんかでた
どういうことなんだろうこれ?
次世代への布石みたいな何かなんだろうか?
よくわからないんだけど、とりあえず僕が結構寝ぼけていたというお話でした。