chanting an air of joyous bliss

普段の生活で見逃しがちな面白いことを書いていく
そんなブログです

JavaScriptと関数オブジェクト

2006-11-19 22:27:57 | コンピュータ・プログラミング
JavaScriptを使い始めたころfunction ~の構文の意味がわからなかった
何がわからなかったかというと、function宣言で関数としても扱えるしオブジェクトの定義もできるという一見して矛盾しているように見える仕様があったからだ
当時、知っているオブジェクト指向の言語はJavaしかなく
"オブジェクトの定義ってClassありきなんじゃない?"
という、ありがちな誤解をしていた。
とほほをみても、ただfunctionオブジェクトが宣言できますとしか書いていないし。

弾さんのエントリーをみてJavascriptのfunction宣言がオブジェクトと関数、両方を含んでいる意味がなんとなくわかったような気がする
JavaScriptは当初、プログラム開発ではなくWebデザイナーさんをターゲットにした言語なはずだ
弾さんいわく
クラスは難しい
オブジェクトは簡単
だとすれば、Webデザイナーさんには難しいクラスの定義なんてことはさせるべきではないだろう
元々あるオブジェクトを使用して関数を作ってもらいそれを実行してもらえばよい。
GUIアプリケーションのイベント処理を記述するイメージになるだろうか
逆に、Webデザイナーさんに使ってもらえるオブジェクトを提供する場合、やはりある程度クラスベースの機能もほしい
JavaScriptのfunctionの二面性は、使う側(=webデザイナーさん)と開発者(=オブジェクトを提供する人)の両者を視野に入れたためではないだろうか?

・・・だとしても、functionに関数とオブジェクトという二つの意味を持たせるのは混乱する原因となり、あんまりな仕様だと個人的には思うのだけどね。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 小久保選手の独占インタビュー | トップ | 川崎球団 宗rinズ »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コンピュータ・プログラミング」カテゴリの最新記事