Вот мой код. Я передаю аргументы функции в том случае, если функция использует операторы распространения и операторы отдыха в функции, как функция может назначать конкретные значения операторам отдыха и распространения?

function multiply(multiplier , ...theArgs){ return theArgs.map(function(element){ console.log( multiplier*element); }); } var arr = multiply(2,1,2,3); 

Вот как функция может узнать … theArgs имеет значение 1,2,3?

Вы указали в функции только один параметр, а остальные параметры представлены остальными параметрами, поэтому значение 2 передается по значению в multiplier а остальные значения передаются в параметр theArgs .

Точно так же, если вы упомянули два или более имен параметров перед параметром rest, соответствующие значения будут переданы в эти параметры. Пример:

  function multiply(multiplier1, multiplier2, ...theArgs){ } var arr = multiply(2,1,2,3); 

Тогда multiplier1 будет иметь значение 2 , multiplier2 будет иметь значение 1 а theArgs будет содержать значения в виде массива [2,3]