Voronar,
Вообще, ящетаю, "Безопасное" расширение нативных объектов, могло бы выглядеть вот так
Object.prototype._=function(f){return f(this)}
show=function(x){console.log(x)}
sum=function(x){console.log(x+x)}
;({a: 1})._(show) // { a: 1 }
;1.._(sum) // 2
Расширяем одной функцией, а затем через каллбэк дергаем как хочем. Одну ф-цию задокументировать и запомнить -- не проблема. И не надо никаких сраных костылей enumerable и пр. |
Цитата:
Voronar, слушать terminator-101 и kostyanet(скорее всего это вообще одно лицо) следует с осторожностью.(обрати внимание на карму) Они живут в своём маленьком трололо мире, слабо связанном с действительностью. Иногда чего дельного и могут сказать в моменты просветления, но в целом.. |
Цитата:
Цитата:
class Parent {
someMethod();
}
class Child prototype Parent.prototype {};
console.log((new Child).__proto__ == Parent.prototype); //true
|
Цитата:
|
Цитата:
По-идее, то что он написал, это тоже самое, что ({}).__proto__. Вроде, именно так и расширяются нативные объекты. А в саму то функцию что толку писать?
alert(Object.prototype===({}.__proto__)) // true
|
Erolast,
Object.__proto__.one=1
Object.prototype.ten=10
alert([{}.one, {}.ten])
|
Цитата:
Object.defineProperty(Function.prototype, "extends", {
writable: true,
configurable: true,
enumerable: false,
value: function(){}
});
Цитата:
|
Цитата:
Function.prototype.extends=function(){}
console.log(function(){}.extends, ({}).extends, "foo".extends)
// [Function] undefined undefined
за исключением сраного enumerable Ты расширил функцию, а речь шла за объекты. Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 08:49. |