Мало того, что для функций с одинаковым типом входящих данный перегрузка не возможна впринципе, и в класическом понимании перегрузки в яваскрипт нет, вы пытаетесь ее влепить туда, где она не нужна.
querySelectorAll возвращает вам сет дом елементов и если в выборку попадет один то будет сет, состоящий из одного элемента, с какого вы пытаетесь туда прилепить еще querySelector, который возвращает первый найденный элемент, вместо того, чтобы взять первый элемент в вашем сете, непонятно.
А теперь подумайте что делает ваш код
1) Код вида let a = c || d присвоит переменной a переменную с, а если она приводится к false присовит переменную d
2) в Вашем случае, если метод querySelectorAll не существует, попытка вызвать на нем bind приведет к ошибке.
Не нужно читать учебник по яваскрипт кусками, прочитайте его от начала и до конца.