2
function Person(name)  {
        this.name = name;
    }

    Person.prototype.getName = function() {
        return this.name
    }

    var tinu = new Person('Tinu');

    console.log(tinu.getName()) //Prints the name 'Tinu' - Expected, means the function is added to protoype

    console.log(tinu);

最後の console.log() は、ドット プロトタイプを介して「getName」という名前の新しく追加されたメソッドを出力せず、プロパティ「name」のみを出力します。ここでは、Person 内のプロパティ「name」とメソッド「getName」の両方を出力することを期待します。物体。以下は、上記のコードの実際の出力と目的の出力です。

実際の出力

ティヌ
の人 { name: 'Tinu' }

望ましい出力

Tinu
Person { name: 'Tinu', getName: [Function] }

以下の画像は、プロトタイプを介して追加されたメソッド「getFullName」が、追加先のオブジェクトをコンソールに出力する際に​​正しく表示される別の例を示しています。そして、私の例でも同じことを期待していました

画像はこちら

4

2 に答える 2