連想配列のキーにStringオブジェクトそのものを使えるのか
2007年6月7日
Rubyの本を読んでいて
「ハッシュのキーに、オブジェクトを使うことができます」と書いてあったので
javascriptでできるのかなとやってみた。
「ハッシュのキーに、オブジェクトを使うことができます」と書いてあったので
javascriptでできるのかなとやってみた。
var foo = new String("foo"); var bar = new String("bar"); foo._toUpper = function(){return "FOO"}; bar._toUpper = function(){return "BAR"}; var hash = {}; hash[foo] = 1; hash[bar] = 2; for (var i in hash) { alert(i._toUpper()); // ---> "_toUpper is not a function" のエラー };
できなかった。
javascriptは基本文法に近づく程特殊ルールが多くなってきて、それが少々気持ち悪いような。
それとも、それが特殊に見えちゃうのは、自分の理解不足なのかなぁ。
それとも、それが特殊に見えちゃうのは、自分の理解不足なのかなぁ。
後、Ruby本を読んでると、「javascriptとかPHPでどうなんだろ」という確認点が沢山出てきて、面白いです。
「言語は色々やった方がいいよ」ってのが、段々と身にしみてきたような気がします。
(程度や重要性の検討は必要だと思いますが)
「言語は色々やった方がいいよ」ってのが、段々と身にしみてきたような気がします。
(程度や重要性の検討は必要だと思いますが)