Почему в JavaScript «3 instanceof Number» == false, а «3..method ()» будет вызывать Number.prototype.method?
Учитывая, что литеральное число не является строго экземпляром Number, почему я могу вызывать методы-прототипы объектов Number (или String, или Boolean) для соответствующих литеральных объектов? Это стандартное поведение в браузерах?
Что именно происходит, когда это происходит? Я подозреваю, что он вызывает литерал в соответствующий тип перед вызовом метода, потому что, когда я проверяюtypeof this
в методе он возвращает «объект», а не «число».