Наследование функционала классов атомарных типов
Не могу понять, как создать конструктор, расширяющий класс для вещей атомарного типа. Например, я хочу сделать класс N, который ведет себя так же как и Number, но имеет дополнительные методы.
... N.prototype.doSomething = function(){}; //при этом Number не трогать var n = new N(5); x = 3 + n; //8 n.doSomething(); Number.prototype.doSomething; //undefined То же самое касается String и Boolean. |
FINoM,
Создаёшь iframe, берёшь о туда нужный объект и пользуешься им, меняя прототипы. |
function N(value) { this.value = value; } N.prototype.valueOf = function() { return this.value; }; var n = new N(5); alert(3 + n); |
Kolyaj, круто.
Как теперь скопировать методы Number в N? Можно, конечно, вручную создать методы, но вопрос интересует с чисто образовательной стороны. |
N.prototype = new Number(); Только не факт, что всё будет работать, как задумано. Скользкая это дорожка :) |
Цитата:
|
Ничего не выйдет.
http://javascript.ru/ecma/part15#a-15.7.4 Цитата:
|
Kolyaj, спасибо. Но текст сложновато написан.
|
FINoM,
Нормально, это спецификация. |
Часовой пояс GMT +3, время: 09:53. |