JavaScriptオブジェクトを深く理解して学習しています。私はObject prototype
を以下の例で学んだ。上記の例で関数のメソッドをfunction.prototypeのように直接追加できないのはなぜですか?
var MyObj = function(){
this.Name = "Stackoverflow";
}
MyObj.prototype.prop = "OK";
var instance = new MyObj();
instance.prop = "OK";
console.log(instance.hasOwnProperty("Name")); //true
console.log(Object.getOwnPropertyNames(instance)); //[ 'Name', 'prop' ]
、instance
オブジェクトはObject
のgetOwnPropertyNames
にアクセスすることはできません。 getOwnPropertyNames
関数はObject
のプロトタイプのメンバーではないためです。これに続いて、私は自分のオブジェクトを書くときに上記のようにObject
のようにします。
var MyDream = function(){}
MyDream.prototype.canAccessThisMethod = function(x){};
var instanceSample = new MyDream();
instanceSample.canAccessThisMethod("blabla"); //because of prototype
MyDream.method(blabla); // didn't work.
MyDream.method
をこの例で使用するにはどうすればよいですか?
ようこそStackOverflow。まず最初に、いくつかのこと、良いプロトタイプを学びたいと思っていますが、とにかくここで 'function'にメソッドを追加することはありません。しかし、あなたは途中でこれらの事を回避するでしょう。 – Rohit416
ここにはJavaScriptのプロトタイプに関するチュートリアルがあります。(https://www.pluralsight.com/blog/software-development/understanding-javascript-prototypes) – Rohit416