https://github.com/alucky0707この広告は、90日以上更新していないブログに表示しています。2013-07-19JavaScriptは演算子オーバーロードの夢を見るかJavaScriptJavaScriptでは演算子を定義したりオーバーロードしたりすることはできない。これはだれでも知っているようなことだろう。過去には演算子オーバーロードのようなことを可能にしたライブラリも存在した。def.jsこのコードを見て欲しい。Ninja("JDD");ninjy.speak();ninjy.kick();これはdef.jsという小さなライブラリの例で、まずPersonというクラスを定義し、次にNinjaというクラスにそれを継承させている。Rubyを知っている人なら、何となく理解できるのではないだろうか。{という部分はまるで演算子をオーバーロードしているようだ。これはどういうことなのだろう?その鍵はvalueOfが握っている。valueOfvalueOfというメソッドは、JavaScriptにおいて特別なメソッドの一つだ。Pythonで言うならば__で囲まれた特殊メソッドのようなものだと考えてもらえればいい。いうことは、このvalueOfはあるタイミングで暗黙的に呼ばれることになる。