Question about "this"

In this code

var s = [23, 65, 98, 5];

Array.prototype.myMap = function(callback) {
  var newArray = [];

  // Add your code below this line
  for (let i = 0; i < this.length; i++) {
    newArray.push(callback(this[i]));
  }
  // Add your code above this line

  return newArray;
};

var new_s = s.myMap(function(item) {
  return item * 2;
});

What is this.length?

Thanks,

Andrej

this.length is a number
length is a property that arrays and strings have

this is the thing on which you are calling the method
for example in the editor you have

in this case, when myMap is called, this is the s array

so this.length is the length of the array on which the myMap method is called