Отличный пост!
Вот небольшое предложение. Я думаю, что нет необходимости во втором случае в вашей функции quickSort. В основном все, что не list[i] < pivot, должно быть нашим вторым случаем, то есть нет необходимости в операторе switch, мы можем реализовать его с помощью простого if/else:

const quickSort = arr => {
    if (arr.length < 2) {
        return arr;
    }
    const pivot = arr[0];
    const left = [];
    const right = [];
    for(let i = 1; i < arr.length; i++) {
        if (arr[i] < pivot) {
            left.push(arr[i]);
        } else {
            right.push(arr[i]);
        }
    }
    return [...quickSort(left), pivot, ...quickSort(right)];
};
quickSort( ['q','a','z','w','s','x','e','d','c','r']);
// ["a", "c", "d", "e", "q", "r", "s", "w", "x", "z"]