Como o DevTools determina o nome do construtor de um objeto?

Estou usando o Chrome v22.0.1229.94 m, não que isso deva importar, mas apenas no caso de :-)

A portabilidade não é uma preocupação para mim. Desde que funcione com o Chrome (e o Safari), estou feliz.

Eu tenho duas funções, foo e bar:

var foo = function() {
  ...
}
function bar() {
  ...
}

então, se eu criar objetos usando eles:

f1 = new foo();
b1 = new bar();

Eu posso pegar o nome do construtor para bar, mas nem para foo:

> f1.constructor.name  ==> ""
> b1.constructor.name  ==> "bar"

ainda assim, em ambos os casos, o console DevTools mostrará os nomes "foo" e "bar" quando eu inspecionar as variáveisf1 eb1.

Como faço para extrair onome foo paraf1 como DevTools é capaz de?

questionAnswers(2)

yourAnswerToTheQuestion