расширить Object.prototype.

асширить основные типы JavaScript (String, Date и т. Д.) Без изменения их прототипов? Например, предположим, что я хотел создать производный строковый класс с некоторыми вспомогательными методами:

function MyString() { }
MyString.prototype = new String();
MyString.prototype.reverse = function() {
  return this.split('').reverse().join('');
};
var s = new MyString("Foobar"); // Hmm, where do we use the argument?
s.reverse();
// Chrome - TypeError: String.prototype.toString is not generic
// Firefox - TypeError: String.prototype.toString called on incompatible Object

Ошибка, кажется, происходит из базовых методов String, возможно, в этом случае «split», так как ее методы применяются к некоторому нестроковому объекту. Но если мы не можем применить объект к нестроковым объектам, тогда можем ли мы действительно использовать их автоматически?

[Редактировать]

Очевидно, моя попытка во многом ошибочна, но я думаю, что это демонстрирует мои намерения. После некоторых размышлений кажется, что мы не можем повторно использовать какие-либо функции объекта-прототипа String без явного вызова их для String.

Можно ли расширить основные типы как таковые?

Ответы на вопрос(5)

Ваш ответ на вопрос