Введение
Можно использовать свойство prototype (прототип) некоторых встроенных объектов JavaScript для расширения их функциональности. Новые экземпляры конкретного класса объектов наследуют поведение, заданное классу. Если вы знаете C++, рассматривайте расширенные объекты как производные классы с новыми собственными функциями-членами.
Внутренние объекты JavaScript, предоставляющие свойство prototype, - это объекты Array (массив), Boolean (логический), Date (дата), Function (функция), Number (число), Object (объект), RegExp (регулярное выражение) и String (строка). Заметьте, что объекты Global (глобальный) и Math (математические операции) исключены.
Давайте воспользуемся этим. Заметьте, что расширение встроенного объекта должно обычно приводить к коду, который легче читать и писать, в конечном счёте, уменьшая трату времени на набор на клавиатуре и исправление; разумеется, функция расширения должна выполнять какую-то операцию, задействующую встроенный объект, дающую в результате что-то осмысленное. Код должен быть быстрым и эффективным, но опять же, каждая часть кода должна быть быстрой и эффективной.