1

次のコードがあります。

Array.prototype.range = function(start, count) {
  this.push(start);
  if(this.length == count){
     return this;
  };
  this.range(start+1, count)
}

意図したとおりに配列を変更するという点で機能しますが、戻り値はありません。

test = new Array;
test.range(0,3);
console.log(test);

[0,1,2] を出力しますが、

test = new Array;
console.log(test.range(0,3));

私に未定義を与えます。誰かが「これを返す」理由を説明できますか; プロトタイプ化されたメソッドで実際にオブジェクトを返さないのですか?

ありがとう。

4

1 に答える 1