No podría explicarte todo por aquí, porque seria muy extenso, pero cosas que deberías revisar sería:
como escribiste startNum, ya que algunas partes del código esta mal escrito
el primer condicional esta medio bien starNum >= endNum, la parte que falla es el operador = ya que indicas que startNum es igual a endNum . y si startNum es igual a endNum esto ya seria otro condicional
Si startNum es igual a endNum, que crees que tiene que devolver? El mismo numero. No importa cual (startNum o endNum) ya que serian iguales
rangeOfNumbers(3, 3)
Tú crees que puedes iterar o añadir valores al array 3 -3? Nop, porque son iguales y el único valor existente sera 3, entonces te falta un condicional de mas: que pasaría si startNum y endNum son iguales.
Tienes que arreglar la función recursiva también.
No sirve de nada decirte el resultado ya que no aprenderías por eso te añado un articulo y trata de entender como funciona la recursividad utilizando funciones: