J'ai lu le code source du Prototype tout en apprenant Javascript. Je me demandais où est le code qui est utilisé pour étendre les objets natifs.Comment Prototype étend-il les objets?
J'ai été voir,
Object.extend(Function.prototype, (function() {
Object.extend(String.prototype, (function() {
Object.extend(Number.prototype, (function() {
partout et je ne peux pas trouver où la fonction .extend vient.
Je l'ai vu:
function extend(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
}
à la ligne 194-198 et je me demande si cela est celui-là. Je ne peux pas savoir comment c'est, si c'est le cas. Quoi qu'il en soit, ma question, comme je l'ai dit plus haut, est de savoir comment/où Prototype étend les objets natifs.
Je pense que je comprends ce que vous voulez dire ici: keys: Object.keys. Donc Object.keys sont en fait les propriétés de l'objet. Qu'est-ce que l'autre '|| les clés font ici? –
@Thorpe - Il dit si * déjà * a 'Object.keys' (une version native du navigateur), utilisez-le, sinon utilisez la fonction' keys' définie dans ce fichier: https://github.com/sstephenson /prototype/blob/master/src/prototype/lang/object.js#L308-317 –
Je le pensais :) Je crois que votre réponse était la meilleure pour expliquer les choses. +1 –