Javascriptでオブジェクト指向

2016.11.2 (水)

プロトタイプベースオブジェクト指向言語(Prototype Based Object Oriented Language)

プロトタイプベースオブジェクト指向言語(Prototype Based Object Oriented Language)というらしいです。実際使ってしまうとオブジェクトっぽいなぁという感じになって非常に使いやすいです。小さなプログラムも含めて使った方が可読性は増します。Javascriptでオブジェクトを使うというかclassでもって名前空間をもった関数を使いまわすという意味では、ベタで書くよりこういう使い方をした方が効率がよいということになります。

Prototypeの雛形

とりあえず例を自分で書いてみた方が早いです。

function Earth() {}
Earth.prototype.japan = function() {
    return 'hoge';
};
var tokyo = new Earth();
var re = tokyo.japan();
console.log(re);

console.logに書き出されるのは’hoge’になります。書式でいうと真新しいところはあまりなくて、慣れている人は見ただけで理解できるといったところだと思います。
Javascriptの謎その1でもあるんですが、

function Earth() {};
↓
Earth = function(){};

は、どちらの書き方でもよいです。下の書き方の方がわかりやすいかもですね。
どっちにしろclassという言葉が一つも出てこないのにclass的なことになっているというのがこのプロトタイプベースです。