Por que, em JavaScript, '3 instanceof Number' == false, mas '3..method ()' chamará Number.prototype.method?

Dado que um número literal não é estritamente uma instância de Number, por que posso chamar métodos de protótipo de objetos Number (ou String ou Boolean) nos objetos literais correspondentes? Esse comportamento é padrão nos navegadores?

O que exatamente está acontecendo quando isso ocorre? Suspeito que esteja coagindo o literal no tipo correspondente antes de chamar o método, porque quando inspecionotypeof this no método, está retornando 'objeto' em vez de 'número'.

questionAnswers(1)

yourAnswerToTheQuestion