Этот вопрос возник, когда я устанавливал базовый регистр следующего кода:
function withoutReverse(str, arrayFor = []){
arrayFor.unshift(str[0]);
if (str.length === 1)
return arrayFor.join("");
else return withoutReverse(str.slice(1), arrayFor) }
let hola = "hello";
withoutReverse(hola);//-->olleh
Я думал, что база должна быть str.length === 0
, потому что я предполагал, что unshift буквально брал каждый элемент из источника объект, чтобы положить его в arrayFor
. Затем я понял, что это то, для чего я использовал slice
.
Я не нашел убедительной информации в MDN. Я прав? unshift()
на самом деле не принимает эти значения (при хранении в объекте)? если так, как это обрабатывается в памяти?
Спасибо