{"id":36,"date":"2016-05-23T18:09:01","date_gmt":"2016-05-23T23:09:01","guid":{"rendered":"http:\/\/www.sientifica.com\/blog\/?p=36"},"modified":"2017-05-30T16:42:04","modified_gmt":"2017-05-30T21:42:04","slug":"encadenando-metodos-javascript","status":"publish","type":"post","link":"https:\/\/www.sientifica.com\/blog\/2016\/05\/23\/encadenando-metodos-javascript\/","title":{"rendered":"Encadenando m\u00e9todos en Javascript (Patr\u00f3n &#8220;Method chaining&#8221;)"},"content":{"rendered":"<p>En ocasiones cuando estamos trabajando con el lenguaje de programaci\u00f3n Javascript, nos hemos encontrado con instrucciones del tipo: objt.metodo1().metodo2().metodo3(), esta sintaxis donde se hacen sucesivos llamados a m\u00faltiples m\u00e9todos se denomina encadenamiento o &#8220;method chaining&#8221;, es propia de los lenguajes de programaci\u00f3n orientados a objetos y simplifica la escritura del c\u00f3digo. Para que esta t\u00e9cnica sea posible, se requiere que en la implementaci\u00f3n de los m\u00e9todos de un objeto, estos (los m\u00e9todos) retornen un objeto que, regularmente (y no necesariamente) es el mismo objeto que contiene el m\u00e9todo que est\u00e1 siendo invocado.<\/p>\n<p>Veamos un ejemplo:<\/p>\n<p><code lang=\"ecmascript\">var\u00a0obj\u00a0=\u00a0{<\/p>\n<p>var1:\u00a0\"Variable\u00a01\",<br \/>\nvar2:\u00a0\"Variable\u00a02\",<br \/>\nfnc2:\u00a0function(){<\/p>\n<p>console.log(\"Ejecutando\u00a0desde\u00a0fnc2...\");<br \/>\nreturn\u00a0obj;<br \/>\n},<br \/>\nfnc1:\u00a0function(par1){<br \/>\nconsole.log(\"Eje\u00a0desde\u00a0fnc1:\u00a0\"+par1);<br \/>\nreturn\u00a0obj;<br \/>\n}<\/p>\n<p>};<\/p>\n<p>obj.fnc1(\"Jojojojo\").fnc2(\"Probando\u00a0el\u00a0metodo\u00a0fnc2...\");<\/code><\/p>\n<p>&nbsp;<\/p>\n<p>M\u00e1s detalles sobre encadenamiento de m\u00e9todos: <a href=\"http:\/\/jscriptpatterns.blogspot.com.co\/2012\/09\/chaining-pattern.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/jscriptpatterns.blogspot.com.co\/2012\/09\/chaining-pattern.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En ocasiones cuando estamos trabajando con el lenguaje de programaci\u00f3n Javascript, nos hemos encontrado con instrucciones del tipo: objt.metodo1().metodo2().metodo3(), esta sintaxis donde se hacen sucesivos llamados a m\u00faltiples m\u00e9todos se &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[9],"_links":{"self":[{"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/posts\/36"}],"collection":[{"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":14,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":56,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions\/56"}],"wp:attachment":[{"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sientifica.com\/blog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}