0

次のコードがある場合、undefined のプロパティ 'second_prop' を設定できないというエラーが返されるのはなぜですか。プロトタイプ プロパティを拡張し、オブジェクト プロトタイプにさらに変数とメソッドを追加できると考えました。2 つのコンソール ステートメントが 'Object' と true を返すため、なぜ未定義のエラーが返されるのでしょうか。私の考えでは、「obj」がオブジェクト型のオブジェクトである場合、temp.prototype.newproperty を実行できるはずです。したがって、オブジェクトには「新しいプロパティ」があります。しかし、私は明らかに間違っているので、ここに欠けているものがあります。さらに、obj が既にオブジェクト リテラルであるのに、なぜ Object.create() を実行する必要があるのでしょうか。それはすでにオブジェクトではありませんか?私はいくつかの例を見て、これを理解しようとしています

    var obj = {
        first_property: 'first property'
    }
    console.log(typeof obj);
    console.log(obj instanceof Object);

    var temp = Object.create(obj);
    temp.prototype.second_prop = 'second property'

出力

//object
//true
//Uncaught TypeError: Cannot set property 'second_prop' of undefined

では、temp.prototype や obj.prototype を実行できないのはなぜですか?

4

3 に答える 3