ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

JavaScriptのgetter/setter



JavaScriptのコードをC#っぽくスマートに
書きたいなぁと思う時にあって欲しいのが
getter/setterです。


とはいっても、依然としてIEでは
__defineSetter__や__defineGetter__
には対応していないので、本格的
に使うにはまだ時期が早いのかも
知れません。


このgetter/setterにIEが対応してくれると
ほぼ全てのブラウザで利用可能となりますが
そうなるとさらに嬉しいこともありそう(^^)


それはブラウザ毎に目的に合致したプロパティ
名が違うケースでも、その違いを隠蔽できると
いうことです。


例えばDIV要素からタグを除いたテキスト内容を
取り出したい時はIEであればinnerText、FFでは
textContentを使いますが、これをgetterとして
プロトタイプでオーバーロードすれば、ブラウザ
毎のプロパティ名の違いを意識せずに済みます。


IEがgetter/setterに対応した段階で、それを
活用したクロスブラウザ処理をやってくれる
フレームワークが登場してくれるといいですね。