Я не совсем понимаю как правильно говорить. Например, в первом случае вызов метода value() на функции-конструкторе или на встроенном объекте
Object
?
let obj = { num1: 1, num2: 2, num3: 3 };
let values = Object.values(obj); //на чем происходит вызов?
Здесь вызов происходит на самом массиве?
let arr = [1, 2, 3, 4];
let iteratorValues = arr.values(); //?
А в чем вообще разница между 1-ым и 2-ым? Насколько я знаю, прототип, который есть у встроенной функции-конструктора - т.е. встроенный прототип, есть и у обычного объекта, который был создан этой функцией-конструкцией. Ну то есть если какой-то прототип есть у
Object
(встроенная функция-конструктор), то впоследствии этот прототип также будет и у того объекта, который этой функцией Object создается. То есть я имею в виду почему я не могу вызвать напрямую
obj.values()
? Ведь по идее, если этот метод есть у
Object
, то он должен быть и у
obj
.
Или
values()
находится не в прототипах, а в самом объекте
Object
?