Usando function.prototype.bind diretamente na declaração da função

Por que isso é permitido?

var f = function() {
  console.log(this.x);
}.bind({x:1})();

E por que isso não é ou melhor, por que eu recebo erro de sintaxe nesse caso?

function f() {
  console.log(this.x);
}.bind({x:1})();

Então, por que eu precisoexpressão de função sintaxe para obter este trabalho e existe uma maneira de usarbind método diretamentedeclaração de função ?

questionAnswers(1)

yourAnswerToTheQuestion