{"json_modified": "2016-10-21T07:33:00.276662", "uuid": "cac2d758-2942-46c3-9583-8fcda7a96a05", "title": "Meta programming", "url": "/en-US/docs/Web/JavaScript/Guide/Meta_programming", "tags": ["Guide", "Proxy", "Reflect", "JavaScript"], "translations": [{"uuid": "3cfc7b74-a62c-42fe-9ca6-cd65e4649d4a", "title": "Meta programming", "url": "/es/docs/Web/JavaScript/Guide/Meta_programming", "tags": ["Reflejar", "Proxy", "Gu\u00eda", "JavaScript"], "summary": "Comenzando con ECMAScript 6, JavaScript gana soporte para el Proxy y objetos Reflect permitiendote interceptar y definir comportamiento customizado\u00a0para operaciones fundamentales del lenguaje\u00a0(por ejemplo, observaci\u00f3n de propiedad, asignaci\u00f3n, enumeraci\u00f3n, invocaci\u00f3n de funciones, etc). Con la ayuda de estos dos objetos, eres capaz de programar en el nivel meta de javascript.", "localization_tags": ["inprogress"], "locale": "es", "last_edit": "2016-07-15T11:40:59", "review_tags": []}, {"uuid": "33227540-9286-44a9-850f-82a141df4737", "title": "M\u00e9taprogrammation", "url": "/fr/docs/Web/JavaScript/Guide/M%C3%A9taprogrammation", "tags": ["Guide", "Proxy", "Reflect", "JavaScript"], "summary": "\u00c0 partir d'ECMAScript 6, JavaScript fournit les objets natifs Proxy et Reflect. Ces objets permettent d'intercepter et de d\u00e9finir des comportements sp\u00e9cifiques pour certaines op\u00e9rations fondamentales du langage (par exemple la recherche d'une propri\u00e9t\u00e9, l'affectation, l'\u00e9num\u00e9ration, l'appel d'une fonction, etc.). Gr\u00e2ce \u00e0 ces deux objets, il est possible d'interagir avec le langage lui-m\u00eame (on parle alors de m\u00e9taprogrammation).", "localization_tags": [], "locale": "fr", "last_edit": "2015-10-11T00:05:16", "review_tags": []}, {"uuid": "34a579e3-9c04-4223-84c3-8d994f178cfc", "title": "\u30e1\u30bf\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0", "url": "/ja/docs/Web/JavaScript/Guide/Meta_programming", "tags": ["Guide", "Proxy", "Reflect", "JavaScript"], "summary": "ECMAScript 6 \u304b\u3089\u3001JavaScript \u306b\u306f Proxy \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068 Reflect \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306f\u57fa\u672c\u7684\u306a\u8a00\u8a9e\u64cd\u4f5c\uff08\u4f8b\u3048\u3070\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u691c\u7d22\u3001\u4ee3\u5165\u3001\u5217\u6319\u3001\u95a2\u6570\u547c\u3073\u51fa\u3057\u306a\u3069\uff09\u306b\u5272\u308a\u8fbc\u307f\u3001\u52d5\u4f5c\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u307e\u3059\u3002\u3053\u306e 2 \u3064\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u304a\u304b\u3052\u3067\u3001JavaScript \u3067\u30e1\u30bf\u30ec\u30d9\u30eb\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u304c\u884c\u3048\u307e\u3059\u3002", "localization_tags": [], "locale": "ja", "last_edit": "2015-10-10T16:35:56", "review_tags": ["technical", "editorial"]}, {"uuid": "65e75871-99fb-4fad-95bc-7077ddb10d96", "title": "\uba54\ud0c0 \ud504\ub85c\uadf8\ub798\ubc0d", "url": "/ko/docs/Web/JavaScript/Guide/%EB%A9%94%ED%83%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D", "tags": [], "summary": "Starting with ECMAScript 6, JavaScript gains support for the Proxy and Reflect objects allowing you to intercept and define custom behavior for fundamental language operations (e.g. property lookup, assignment, enumeration, function invocation, etc). With the help of these two objects you are able to program at the meta level of JavaScript.", "localization_tags": ["inprogress"], "locale": "ko", "last_edit": "2015-11-24T01:31:41", "review_tags": []}, {"uuid": "506f4630-3b06-4478-9227-5cd506a29840", "title": "Meta programming", "url": "/pt-BR/docs/Web/JavaScript/Guide/Meta_programming", "tags": [], "summary": "Come\u00e7ando com ECMAScript 6, JavaScript ganha apoio para o\u00a0Proxy e Reflect objetos, permitindo que voc\u00ea para interceptar e definir o comportamento personalizado para opera\u00e7\u00f5es de linguagem fundamentais (por exemplo, pesquisa de propriedade, cess\u00e3o, enumera\u00e7\u00e3o, a fun\u00e7\u00e3o de chamada, etc). Com a ajuda destes dois objetos que s\u00e3o capazes de programar a n\u00edvel meta de JavaScript.", "localization_tags": ["inprogress"], "locale": "pt-BR", "last_edit": "2015-10-14T18:23:14", "review_tags": []}, {"uuid": "3b4424bd-5609-49c1-9291-8076a3031f8d", "title": "Meta programming", "url": "/zh-CN/docs/Web/JavaScript/Guide/Meta_programming", "tags": ["\u4ee3\u7406", "\u53cd\u5c04", "\u6307\u5357", "JavaScript"], "summary": "\u4eceECMAScript6\u5f00\u59cb\uff0cJavaScript\u5c31\u5f00\u59cb\u652f\u6301Proxy\u548c Reflect\u5bf9\u8c61\uff0c\u5141\u8bb8\u4f60\u62e6\u622a\u5e76\u5b9a\u5236\u57fa\u7840\u8bed\u8a00\u64cd\u4f5c\u884c\u4e3a\uff08\u6bd4\u5982\uff0c\u5c5e\u6027\u67e5\u627e\uff0c\u8d4b\u503c\uff0c\u679a\u4e3e\uff0c\u51fd\u6570\u8c03\u7528\uff0c\u7b49\u7b49\uff09\u3002\u901a\u8fc7\u8fd9\u4e24\u4e2a\u5bf9\u8c61\uff0c\u4f60\u53ef\u4ee5\u5728JavaScript\u5143\u7ea7\u522b\uff08meta level\uff09\u7f16\u7a0b\u3002", "localization_tags": ["inprogress"], "locale": "zh-CN", "last_edit": "2016-10-05T05:13:53", "review_tags": ["technical", "editorial"]}], "modified": "2016-10-21T07:32:58", "label": "Meta programming", "localization_tags": [], "locale": "en-US", "id": 145779, "last_edit": "2016-10-21T07:32:37", "summary": "Starting with ECMAScript 6, JavaScript gains support for the Proxy and Reflect objects allowing you to intercept and define custom behavior for fundamental language operations (e.g. property lookup, assignment, enumeration, function invocation, etc). With the help of these two objects you are able to program at the meta level of JavaScript.", "sections": [{"id": "Quick_Links", "title": null}, {"id": "Proxies", "title": "Proxies"}, {"id": "Terminology", "title": "Terminology"}, {"id": "Handlers_and_traps", "title": "Handlers and traps"}, {"id": "Revocable_Proxy", "title": "Revocable "}, {"id": "Reflection", "title": "Reflection"}, {"id": "A_better_apply_function", "title": "A better "}, {"id": "Checking_if_property_definition_has_been_successful", "title": "Checking if property definition has been successful"}], "slug": "Web/JavaScript/Guide/Meta_programming", "review_tags": []}