objeto na definição de função javascript

Meu amigo estava apenas criando um código sem sentido, ou pelo menos eu pensava que ele estava, mas, para minha surpresa, não deu nenhum erro. No entanto, não fez o que ele esperava, pois ele realmente não sabia o que estava fazendo. Mas agora estou bastante curioso sobre o que faz, porque deve haver algum motivo para não gerar um erro. O código tinha algo parecido com isto:

var n = function(someArg, anotherArg, {help: []}){};

Além disso, ao adicionar dados ao objeto, ele gera um erro:

var n = function(someArg, anotherArg, {help: ["something"]}){};

Lança: 'Untaught SyntaxError: String inesperada'

Então, por que um argumento aleatório é permitido?

questionAnswers(1)

yourAnswerToTheQuestion