人気ブログランキング | 話題のタグを見る

getElementById() の利点

最近ずっと JavaScript のプログラミングで遊んでいるが、プログラムを幾つか作っているうちに、getElementById() 関数の利点に気がついた。

操作したい DOM オブジェクトをその度に d_ocument.getElementByTd() メソッドで取得するのはオーバーヘッドが気になるようだが、この方法だとグローバル変数を発生しないので、関数定義の中で使用すれば、名前空間を汚染しない。また、DOM が全て完成していなくても関数の中に置いておけるので、関数を一箇所に集めることができる。関数の置き場所に気を使わないでいいので、記述が楽になる。また、コンテンツとレイアウトの分離が楽になる。

少々のオーバーヘッドが気にならない状況なら、getElementById 関数を多用すると、プログラム作成が楽になる。

jQurey などのプラグインは便利だが、新しい言語を覚えなくてはいけないのと、プラグインがなければプログラムが動かないのが気になる。効率が求められる現場では効率が優先されると思うが、$ セレクタのようなものも、エディタに emmet などがインストールされていれば、展開して JavaScript にしてくれるし、ドット記法のようなものも関数がオブジェクトを返すようにしてやれば、JavaScript だけでも実現できるのではないだろうか。

全てを JavaScript だけで記述してあれば、HTML文書1個だけで、動作させることができる。ライブラリのバージョン違いで動かないということもない。また、ブラックボックスも発生しない。

別に、JavaScript 原理主義者ではないのだが(JavaScript だけでソースを書く非効率性は十分知っているつもりだが)、プラグインに頼りすぎるのも何だかなと思う。

emmet のいいところはその場で HTML や CSS に展開してくれるところだ。CoffeeScript のようなものも、emmet のようにその場で JavaScript に展開した方が使い勝手がいいのではないかと思ったりする。その場で JavaScript に展開してくれる on time compiler (英語では意味が違うかもしれないが)のようなものがあれば便利だろう。



by tnomura9 | 2016-01-24 11:18 | JavaScript | Comments(0)
<< Node.js 複数の HTML 文書をまとめる >>