タグ

ブックマーク / m-hiyama.hatenablog.com (2)

  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • プログラマのためのJavaScript (2):融通無碍な型システム - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JavaScriptは「型のない言語だ」と言われています。これは、変数に型を宣言する必要がない(現状ではできない)ことです。しかし、データには型があります。よって、データの分類体系としての型システムもあるはずです。とはいえ、ホレッ、JavaScriptのことですから、型システムも“どうとでもとれるような(解釈の任意性がある)”曖昧な分類体系ですね。よくいえば融通無碍<ゆうずうむげ>、有り体<ありてい>にいえばエエカンゲンですわ。 ●とっかかりはtypeof演算子 ([追記]: typeof演算子をtypofと書き間違えていた(で、直した)。こういうのはtypoofと言うのだろう:-) ) typeof演算子(関数ではありません)の引数に、定数リテラル、変数、式(expression)などを指定するとその型(の名前である文字列)を返してくれます。 js> typeof 123 number

    プログラマのためのJavaScript (2):融通無碍な型システム - 檜山正幸のキマイラ飼育記 (はてなBlog)
    WhatAmILookingFor
    WhatAmILookingFor 2010/08/15
    Javascriptの型システム
  • 1