JavaScript

名前空間

JavaScriptには名前空間はないので、Objectをそのかわりに使う。

あくまで実体はObjectのインスタンスでしかないので、他の言語のように「com.example.Sample」などとしてしまうと、どこ ...

JavaScript

JavaScriptでクラスの継承を行なう場合、prototypeにスーパークラスのインスタンスを代入するのが一般的。

しかし上の例では、messageは「SuperClass.prototype.constructor」 ...

PHP

文字列を使うクロージャ

PHP 5.3.0以降、他のスクリプト言語のように関数そのものをオブジェクトとして扱えるようになった。

PHP

【2012.05.01 追記】foreachでの利用

PHPの非オブジェクト指向における参照(リファレンス)とは、あくまで「変数の参照」。

つまり、変数の別名(エイリアス)をつくっているにすぎない。

JavaScript,プログラミング

すべての関数にあるprototypeオブジェクトを利用すると、オブジェクト指向的なことができる。

prototypeに入れる変数・関数を変更すると、すべてのインスタンスに適用される。

【@要注意】 protot ...

C++

typedefやテンプレートが複雑にからみ合っていると厄介だが、ひとつひとつベースから前方宣言していくしかない。

なお、STLには<iosfwd>というiostream周りの前方宣言をまとめたヘッダファイルもあ ...

ActionScript 3.0ではコンストラクタをprivateにできないので、Singletonパターンを実装するには一工夫必要になる。

通常は該当クラスのインスタンスを保持するstaticな変数を用意しておくが、これ ...

イベントをリスナーで受け取ったとき、Event#targetとEvent#currentTargetの指し示すものが異なる場合がある。特にMouseEventでは注意が必要。

Event#targetとcurrentTar ...

【追記】
2011年7月24日:オブジェクトリテラル

Objectクラスに動的にプロパティを追加して連想配列的に使う場合、プロパティ名(キー)に指定したオブジェクトは、あくまでその文字列表現が適用される(Strin ...

delete演算子の機能動的に追加したプロパティを削除する
オブジェクトの参照を削除
オブジェクトの参照を削除

動的に追加したプロパティの値の参照を切る。delete後は、undefinedとなる。
(C/C++のd ...