{"json_modified": "2016-10-20T12:03:44.664378", "uuid": "a5c3473c-a01f-43fa-8938-3b3726e61b8c", "title": "Inheritance and the prototype chain", "url": "/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": ["JavaScript", "Intermediate", "OOP", "Inheritance"], "translations": [{"uuid": "1a7854fd-e723-4ac6-be19-2a16fcb3b03e", "title": "\u0987\u09a8\u09b9\u09c7\u09b0\u09bf\u099f\u09c7\u09a8\u09cd\u09b8 \u098f\u09ac\u0982 \u09aa\u09cd\u09b0\u09cb\u099f\u09cb\u099f\u09be\u0987\u09aa-\u099a\u09c7\u0987\u09a8", "url": "/bn-BD/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": ["\u0985\u09ac\u099c\u09c7\u0995\u09cd\u099f \u0993\u09b0\u09bf\u09df\u09c7\u09a8\u09cd\u099f\u09c7\u09a1 \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae\u09bf\u0982", "OOP", "NeedsContent", "Guide", "\u0987\u09a8\u09b9\u09c7\u09b0\u09bf\u099f\u09c7\u09a8\u09cd\u09b8", "\u099c\u09be\u09ad\u09be\u09b8\u09cd\u0995\u09cd\u09b0\u09bf\u09aa\u09cd\u099f", "JavaScript", "\u0997\u09be\u0987\u09a1", "Inheritence"], "summary": "\u09af\u09c7\u09b8\u09ac \u09a1\u09c7\u09ad\u09c7\u09b2\u09aa\u09be\u09b0 \u0986\u0997\u09c7 \u0995\u09cd\u09b2\u09be\u09b8-\u09ad\u09bf\u09a4\u09cd\u09a4\u09bf\u0995 \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae\u09bf\u0982 \u09b2\u09cd\u09af\u09be\u0982\u0997\u09c1\u09df\u09c7\u099c\u09c7 (\u09af\u09c7\u09ae\u09a8 \u09b8\u09bf++ \u09ac\u09be \u099c\u09be\u09ad\u09be) \u0995\u09cb\u09a1 \u0995\u09b0\u099b\u09c7\u09a8, \u09a4\u09be\u09b0\u09be \u099c\u09be\u09ad\u09be\u09b8\u09cd\u0995\u09cd\u09b0\u09bf\u09aa\u09cd\u099f\u09c7 \u0995\u09cb\u09a1 \u0995\u09b0\u09a4\u09c7 \u0997\u09bf\u09df\u09c7 \u098f\u0995\u099f\u09c1 \u09ac\u09bf\u09ad\u09cd\u09b0\u09be\u09a8\u09cd\u09a4 \u09b9\u09ac\u09c7\u09a8, \u0995\u09c7\u09a8\u09a8\u09be \u099c\u09be\u09ad\u09be\u09b8\u09cd\u0995\u09cd\u09b0\u09bf\u09aa\u09cd\u099f \u098f\u0995\u099f\u09bf \u09a1\u09be\u09df\u09a8\u09be\u09ae\u09bf\u0995 \u09b2\u09cd\u09af\u09be\u0982\u0997\u09c1\u09df\u09c7\u099c \u0986\u09b0 \u098f\u09a4\u09c7 \u0995\u09cb\u09a8 class \u0987\u09ae\u09aa\u09cd\u09b2\u09bf\u09ae\u09c7\u09a8\u09cd\u099f\u09c7\u09b6\u09a8 \u09a8\u09c7\u0987 ( \u09af\u09a6\u09bf\u0993 class \u09a8\u09be\u09ae\u09c7 \u098f\u0995\u099f\u09bf \u0995\u09c0\u0993\u09df\u09be\u09b0\u09cd\u09a1 \u099c\u09be\u09ad\u09be\u09b8\u09cd\u0995\u09cd\u09b0\u09bf\u09aa\u09cd\u099f \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09a3 \u0995\u09b0\u09c7 \u09b0\u09c7\u0996\u09c7\u099b\u09c7 - \u09a4\u09be\u0987 \u098f\u0987 \u09a8\u09be\u09ae\u09c7 \u0995\u09cb\u09a8 \u09ad\u09cd\u09af\u09be\u09b0\u09bf\u09df\u09c7\u09ac\u09b2 \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09a4\u09c7 \u09aa\u09be\u09b0\u09ac\u09c7\u09a8 \u09a8\u09be )\u0964", "localization_tags": ["inprogress"], "locale": "bn-BD", "last_edit": "2015-04-26T04:55:06", "review_tags": []}, {"uuid": "944f2430-3aed-4ee0-82bf-f7cdde70f4e5", "title": "Her\u00e8ncia i la cadena de prototipus", "url": "/ca/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": [], "summary": "JavaScript pot resultar una mica conf\u00fas per als desenvolupadors amb experi\u00e8ncia en llenguatges bassats en classes (com ara Java o C++), ja que degut al seu dinamisme no proporciona una implementaci\u00f3 de class per se (la paraula clau class va ser introdu\u00efda al ES6, per\u00f2 sint\u00e0cticament \u00e9s irrellevant, JavaScript continuar\u00e0 basat en prototipus).", "localization_tags": [], "locale": "ca", "last_edit": "2015-08-10T08:23:08", "review_tags": ["editorial"]}, {"uuid": "2fa01863-c9bc-4c69-b7c0-7a2812c16fcb", "title": "Vererbung und die Prototypenkette", "url": "/de/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": ["OOP", "Vererbung", "Inheritance", "JavaScript", "Intermediate", "Fortgeschrittene"], "summary": "JavaScript mag f\u00fcr Entwickler, die in klassenbasierten Sprachen (wie etwa Java oder C++) Erfahrung haben, etwas verwirrend erscheinen. Der Grund daf\u00fcr ist, dass JavaScript per se keine class-Implementierung bereitstellt (das class-Schl\u00fcsselwort wurde erst mit der ES6 Version eingef\u00fchrt. Es ist jedoch syntaktischer Zucker, JavaScript bleibt Prototyp-basiert).", "localization_tags": [], "locale": "de", "last_edit": "2016-07-22T00:50:53", "review_tags": []}, {"uuid": "beb2ffae-4051-4d14-87b3-82afa9d9c6b4", "title": "Herencia y la cadena de prototipos", "url": "/es/docs/Web/JavaScript/Herencia_y_la_cadena_de_protipos", "tags": ["Programaci\u00f3n orientada a objetos", "Herencia", "Intermedio", "JavaScript"], "summary": "JavaScript es un poco confuso para desarrolladores experimentados en lenguajes basados en clases (como Java o C++), al ser din\u00e1mico y no proporcionar una implementaci\u00f3n de clases en s\u00ed misma (la palabra clave class se introdujo en ES6, pero s\u00f3lo como az\u00facar sint\u00e1ctico, ya que JavaScript sigue estando basado en prototipos).", "localization_tags": ["inprogress"], "locale": "es", "last_edit": "2016-07-08T12:19:08", "review_tags": []}, {"uuid": "a79cdd9f-9e19-4058-96eb-faa8ae185b29", "title": "H\u00e9ritage et cha\u00eene de prototypes", "url": "/fr/docs/Web/JavaScript/H%C3%A9ritage_et_cha%C3%AEne_de_prototypes", "tags": ["Interm\u00e9diaire", "H\u00e9ritage", "OOP", "JavaScript"], "summary": "JavaScript peut parfois se r\u00e9v\u00e9ler d\u00e9routant, notamment pour les d\u00e9veloppeurs habitu\u00e9-es \u00e0 des langages fonctionnant avec des classes (Java ou C++ par exemple). JavaScript poss\u00e8de un typage dynamique et ne fournit pas d'impl\u00e9mentation de classe (le mot-cl\u00e9 class a \u00e9t\u00e9 introduit avec ECMAScript 6 mais ne fournit qu'un sucre syntaxique, JavaScript continue d'avoir un mod\u00e8le d'h\u00e9ritage bas\u00e9 sur les prototypes).", "localization_tags": [], "locale": "fr", "last_edit": "2016-10-11T10:54:21", "review_tags": []}, {"uuid": "a929bd72-3717-4300-a56c-b52b153819a4", "title": "Ereditariet\u00e0 e catena dei prototype", "url": "/it/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": ["Intermedio", "ereditariet\u00e0", "OOP", "JavaScript"], "summary": "JavaScript confonde un po' gli sviluppatori che hanno\u00a0esperienza di linguaggi basati\u00a0sulle classi (come Java o C++), siccome \u00e8 un linguaggio dinamico e non fornisce un implementazione di class\u00a0(la keyword class \u00e8 introdotto in ES6, ma \u00e8 zucchero sintattico, Javascript rimarr\u00e0 prototype-basato).", "localization_tags": ["inprogress"], "locale": "it", "last_edit": "2015-08-24T03:50:10", "review_tags": []}, {"uuid": "8b472962-7367-48d5-ac07-9623363a2203", "title": "\u7d99\u627f\u3068\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u30c1\u30a7\u30fc\u30f3", "url": "/ja/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain", "tags": ["JavaScript", "OOP", "Inheritance"], "summary": "JavaScript \u306f\u52d5\u7684\u3067\u3001 class \u306e\u5b9f\u88c5\u305d\u308c\u81ea\u4f53\u3092\u63d0\u4f9b\u3057\u306a\u3044\u3053\u3068\u304b\u3089\u3001 Java \u3084 C++ \u306e\u3088\u3046\u306a\u30af\u30e9\u30b9\u30d9\u30fc\u30b9\u306e\u8a00\u8a9e\u3092\u7d4c\u9a13\u3057\u305f\u958b\u767a\u8005\u306b\u3068\u3063\u3066\u3001\u3084\u3084\u7d1b\u3089\u308f\u3057\u3044\u3082\u306e\u3067\u3059\uff08class \u30ad\u30fc\u30ef\u30fc\u30c9\u306f ES6 \u3067\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30b7\u30e5\u30ac\u30fc\u3067\u3042\u308a\u3001JavaScript \u306f\u5f15\u304d\u7d9a\u304d\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u30d9\u30fc\u30b9\u3067\u3059\uff09\u3002", "localization_tags": [], "locale": "ja", "last_edit": "2016-08-23T10:40:19", "review_tags": []}, {"uuid": "945f5f2d-0b1d-489e-a735-ef13b70c288c", "title": "\uc0c1\uc18d\uacfc \ud504\ub85c\ud1a0\ud0c0\uc785", "url": "/ko/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain", "tags": ["\uc911\uae09", "\uc0c1\uc18d", "\uac1d\uccb4\uc9c0\ud5a5", "JavaScript"], "summary": "Java \ub098 C++ \uac19\uc774 \ud074\ub798\uc2a4\ub97c \uae30\ubc18\uc73c\ub85c\ud55c \uc5b8\uc5b4\ub97c \uc0ac\uc6a9\ud558\ub358 \ud504\ub85c\uadf8\ub798\uba38\ub4e4\uc740 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \ud074\ub798\uc2a4\uac00 \uc5c6\ub2e4\ub294 \uac83\uc744 \uc774\uc0c1\ud558\uac8c \uc0dd\uac01\ud55c\ub2e4. \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub294 \ud074\ub798\uc2a4\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4. (\ud558\uc9c0\ub9cc\u00a0class\u00a0\ud0a4\uc6cc\ub4dc\ub294 \uc608\uc57d\uc5b4\uc774\uae30 \ub54c\ubb38\uc5d0 \ubcc0\uc218 \uc774\ub984\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4)", "localization_tags": [], "locale": "ko", "last_edit": "2016-07-05T07:29:13", "review_tags": ["editorial"]}, {"uuid": "27034c16-8113-4c7e-9a19-ca8ce4709520", "title": "Dziedziczenie i \u0142a\u0144cuch prototyp\u00f3w", "url": "/pl/docs/Web/JavaScript/dziedziczenie_lancuch_prototypow", "tags": ["Dziedziczenie", "OOP", "JavaScript"], "summary": "JavaScript is a bit confusing for developers experienced in class-based languages (like Java or C++), as it is dynamic and does not provide a class implementation per se (the class keyword is introduced in ES6, but is syntactical sugar, JavaScript remaining prototype-based).", "localization_tags": ["inprogress"], "locale": "pl", "last_edit": "2016-05-09T14:36:44", "review_tags": []}, {"uuid": "470ca191-8c2e-4ac2-abf6-606af20f2161", "title": "Heran\u00e7a e cadeia de prot\u00f3tipos (prototype chain)", "url": "/pt-BR/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain", "tags": ["heran\u00e7a intermedi\u00e1rio JavaScript OOP"], "summary": "JavaScript \u00e9 um pouco confuso para desenvolvedores com experi\u00eancia em linguagens baseadas em classes (como Java ou C++), porque \u00e9 din\u00e2mico e n\u00e3o disp\u00f5e de uma implementa\u00e7\u00e3o de class (atrav\u00e9s da palavra-chave reservada class e n\u00e3o pode ser usada com um nome de vari\u00e1vel).", "localization_tags": [], "locale": "pt-BR", "last_edit": "2016-09-01T10:58:43", "review_tags": ["editorial"]}, {"uuid": "ce7c6574-6948-4577-80aa-645e25590d14", "title": "\u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432", "url": "/ru/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": [], "summary": "\u041c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 JavaScript \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u0430\u0434\u0430\u0447\u0438\u0442\u044c \u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 (\u0442\u0430\u043a\u0438\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a Java \u0438\u043b\u0438 C++), \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e\u043d\u044f\u0442\u0438\u044f class (\u0445\u043e\u0442\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e class \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c, \u0442.\u0435., \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439).", "localization_tags": [], "locale": "ru", "last_edit": "2016-10-14T01:43:10", "review_tags": ["editorial"]}, {"uuid": "7a0d0583-ba43-4780-aa6d-6ee50a2ef5b6", "title": "\u7ee7\u627f\u4e0e\u539f\u578b\u94fe", "url": "/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain", "tags": ["\u4e2d\u7ea7", "\u7ee7\u627f", "\u9762\u5411\u5bf9\u8c61", "OOP", "JavaScript"], "summary": "\u5bf9\u4e8e\u90a3\u4e9b\u719f\u6089\u57fa\u4e8e\u7c7b\u7684\u9762\u5411\u5bf9\u8c61\u8bed\u8a00\uff08Java \u6216\u8005 C++\uff09\u7684\u5f00\u53d1\u8005\u6765\u8bf4\uff0cJavaScript \u7684\u8bed\u6cd5\u662f\u6bd4\u8f83\u602a\u5f02\u7684\uff0c\u8fd9\u662f\u7531\u4e8e JavaScript \u662f\u4e00\u95e8\u52a8\u6001\u8bed\u8a00\uff0c\u800c\u4e14\u5b83\u6ca1\u6709\u7c7b\u7684\u6982\u5ff5\uff08\u00a0ES6 \u65b0\u589e\u4e86class \u5173\u952e\u5b57\uff0c\u4f46\u53ea\u662f\u8bed\u6cd5\u7cd6\uff0cJavaScript \u4ecd\u65e7\u662f\u57fa\u4e8e\u539f\u578b\uff09\u3002", "localization_tags": [], "locale": "zh-CN", "last_edit": "2016-09-29T05:59:46", "review_tags": []}], "modified": "2016-10-20T12:03:41", "label": "Inheritance and the prototype chain", "localization_tags": [], "locale": "en-US", "id": 2129, "last_edit": "2016-10-11T03:50:50", "summary": "JavaScript is a bit confusing for developers experienced in class-based languages (like Java or C++), as it is dynamic and does not provide a class implementation per se (the class keyword is introduced in ES6, but is syntactical sugar, JavaScript remains prototype-based).", "sections": [{"id": "Quick_Links", "title": null}, {"id": "Inheritance_with_the_prototype_chain", "title": "Inheritance with the prototype chain"}, {"id": "Inheriting_properties", "title": "Inheriting properties"}, {"id": "Inheriting_methods", "title": "Inheriting \"methods\""}, {"id": "Different_ways_to_create_objects_and_the_resulting_prototype_chain", "title": "Different ways to create objects and the resulting prototype chain"}, {"id": "Objects_created_with_syntax_constructs", "title": "Objects created with syntax constructs"}, {"id": "With_a_constructor", "title": "With a constructor"}, {"id": "With_Object.create", "title": "With "}, {"id": "With_the_class_keyword", "title": "With the\u00a0"}, {"id": "Performance", "title": "Performance"}, {"id": "Bad_practice_Extension_of_native_prototypes", "title": "Bad practice: Extension of native prototypes"}, {"id": "Example", "title": "Example"}, {"id": "prototype_and_Object.getPrototypeOf", "title": null}, {"id": "In_conclusion", "title": "In conclusion"}], "slug": "Web/JavaScript/Inheritance_and_the_prototype_chain", "review_tags": []}