JavaScriptの連想配列キーに「default」を使うとSafariで動かない
まさかIEのJavaScriptパーサー以外でトラブる日が来ようとは。
JavaScriptで下記のような連想配列を書いていたのですが、
var hoge = {
default: 'ruby',
second: 'JavaScript',
change: function(key) {
hoge[key]
}
}
あのIE6ですらまともに動くのに、何故かSafariでエラー。
Safari4のエラーコンソールで見てみると、どうやら「default: 'ruby', 」の行でエラーになっている模様。
念のため、「JavaScript default」で検索してみると、switch文の中で使うキーワードとして登録されていました。普段Rubyだとswitchもdefaultも使わないから、すっかり忘れてた。
(Rubyだと、「case .. when .. else .. end」)
自戒を込めて、JavaScriptのキーワードと予約語一覧へのリンクを貼っておきますorz
selfとthisもよく間違えるんだよなぁ……。
JavaScriptの仕様的には、Safariとそれ以外のブラウザ、どっちの挙動の方が正しいんだろう。教えてエロい人!
JavaScript, Safari |
comments(0) |
trackbacks(0)
2009.06.21 Sun 20:55
TRACKBACKS
この記事へのトラックバックURL: http://www.red-mount.com/trackback/49_4154beee700233ae67bd5d092cf94d495ee985d1
ABOUT ME
tak (Takahito Sezutsu)
コメント、トラックバックはお気軽に!
COMMENTS
-
YSlowでRailsサイトのパフォーマンスを改善する方法
→GarrettLuisa18 (03.08) -
Versions - Macで使えるGUIベースのSubversionクライアント
→iB22Evie (02.22) -
クックパッドの裏側を見てきました
→Re (02.12) -
Mac版ATOK定額制(体験版)を1週間使ってみた
→tak (09.19) -
Mac版ATOK定額制(体験版)を1週間使ってみた
→ガウ (09.13) -
CSSフレームワークについて考えてみた
→tak (07.29) -
CSSフレームワークについて考えてみた
→佐藤 (07.19) -
Sugamo.css#5行ってきた
→tak (06.28) -
Sugamo.css#5行ってきた
→sakaki (06.23) -
Sugamo.css#5行ってきた
→Sig. (06.22)
COMMENTS