マシンTIL

2531 ワード


オブジェクト向けプログラミング
prototype of JS

オブジェクト向けプログラミングとは何ですか?


私たちは普段無意識に日常生活で出会った多くのものを分類しています.時には学術的な分類であり、時には日常的な分類でもある.写真の「自動車」の分類など、BMWやAudiなど多くの自動車を説明できる利点があります.プログラミング言語で使うなら…!!

重複する属性は不要に複数回使用できます!!


たとえば、
class Car {
  constructor(name, size, velocity){
    this.name = name;
    this.size = size;
    this.velocity = velocity;
  }
    go(){
    	console.log('부릉부릉');
    }
}
そうすれば、「自動車」が持つ様々な属性の例「BMW」「Audi」など、それぞれの属性を与えることができます!機能を加えることもできます!!このようにデータと機能をオブジェクト内に組み合わせることで,これを利用できるのがオブジェクト向けプログラミングの特徴である.

JSの原型は何ですか?


以前classを用いてオブジェクト向けプログラミングを説明しました.しかし実際、JavaScriptにはclassの概念はありません(最近ECMA 6規格でclass構文が追加されました).そこで,プロトタイプを用いてそれを模倣した.

prototype object


関数を定義すると、JavaScriptは関数のプロトタイプオブジェクトを作成します.そしてこれは関数名ですprototypeを使用してアクセスできます.デフォルトのプロパティはconstructorとprotoです.これは、すべてのオブジェクトが持つプロパティで、オブジェクトを作成するときにその親となる関数のprototypeobjectです.これにより、protoプロパティを親prototypeに関連付けて、プロパティが見つかるまで関連付けることができます.
整理すればbullingです.prototype.heightと呼ばれる場合は、bullingのプロトタイプオブジェクトにアクセスして、そのオブジェクト上でheightプロパティをナビゲートして使用することを示します.