let nums = [1, 2, 3];
console.log( [...nums].map([].pop, nums) ) // 3, 2, 1 thisArg для функции.pop() будет вызываться в контексте начального массива nums — последовательно выдирая из него последний из оставшихся элементов: 3, 2, 1nums, соответственно, на каждой итерации будет становиться на 1 элемент короче.[...nums] нужна только ради его первоначальной длины, чтобы вызвать дальнейшую магию правильное число раз.