M.C.P.C.

―むり・くり―プラスコミュニケーション


| トップページ |

2011.11.02

Safari 5.0.5のJavaScriptでプロパティ名やメソッド名にdoを使うとParse errorが出る

このエントリーをはてなブックマークに追加 mixiチェック

var Hoge = function() {};
Hoge.prototype = {
  hoge: function() {
  },
  do: function() {
    alert('do!');
  }
};
var fuga = new Hoge;
fuga.do();

ていうコードをFirefoxで動かすと通るが、Windows版Safari 5.0.5で動かすと、「Syntax Error: Parse error」が出る。

doを、dodoとかに書き換えると、エラーはなくなる。

メソッド名じゃなくてプロパティ名としてならどうなのかーと思って、

var Hoge = function() {};
Hoge.prototype = {
  hoge: function() {
    alert(this.do);
  },
  do: 1
};
var fuga = new Hoge;
fuga.hoge();

とやると、やっぱりSafariだとだめ。

いっそのこと、

var Hoge = {};
Hoge.do = 1;

というのはどうだ、と思ったらこれすらだめ。

Safariだと、doって予約されているのかな?


(2011-11-02 23:31追記)

Mac版Safari 5.0.6と、Windows版Safari 5.1.1で試したら、問題がありませんでした。それを受けてタイトルを修正しました。

[Script] | |

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/53147784

この記事へのトラックバック一覧です: Safari 5.0.5のJavaScriptでプロパティ名やメソッド名にdoを使うとParse errorが出る:

コメント

コメントを書く