¿Por qué, en JavaScript, '3 instanceof Number' == false, pero '3..method ()' llamará a Number.prototype.method?

Dado que un número literal no es estrictamente una instancia de Number, ¿por qué puedo llamar a métodos prototipo de objetos Number (o String, o Boolean) en los objetos literales correspondientes? ¿Es este comportamiento estándar en los navegadores?

¿Qué está sucediendo exactamente cuando esto ocurre? Sospecho que está obligando al literal al tipo correspondiente antes de llamar al método, porque cuando inspeccionotypeof this en el método, devuelve 'objeto' en lugar de 'número'.

Respuestas a la pregunta(1)

Su respuesta a la pregunta