<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Generics on Commentary of Takao</title><link>https://takao.blog/es/tags/generics/</link><description>Recent content in Generics on Commentary of Takao</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>Commentary of Takao</copyright><lastBuildDate>Sun, 12 Jul 2026 04:12:51 +0900</lastBuildDate><atom:link href="https://takao.blog/es/tags/generics/index.xml" rel="self" type="application/rss+xml"/><item><title>Restricciones genéricas en TypeScript: Construyendo APIs type-safe</title><link>https://takao.blog/es/web/typescript-generic-constraints/</link><pubDate>Tue, 05 Mar 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/es/web/typescript-generic-constraints/</guid><description>&lt;img src="https://takao.blog/img/thumbnail/typescript-generic-constraints-es.png" alt="Featured image of post Restricciones genéricas en TypeScript: Construyendo APIs type-safe" /&gt;&lt;p&gt;Los genéricos permiten código reutilizable type-safe. La palabra clave &lt;code&gt;extends&lt;/code&gt; restringe parámetros de tipo a formas con propiedades específicas.&lt;/p&gt;
&lt;h2 id="la-restricción-extends"&gt;La restricción extends
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;function getProperty&amp;lt;T, K extends keyof T&amp;gt;(obj: T, key: K): T[K]&lt;/code&gt; garantiza que &lt;code&gt;key&lt;/code&gt; sea una propiedad válida de &lt;code&gt;obj&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="conditional-types"&gt;Conditional Types
&lt;/h2&gt;&lt;p&gt;Usan &lt;code&gt;extends&lt;/code&gt; para verificar relaciones de tipo: &lt;code&gt;type IsString&amp;lt;T&amp;gt; = T extends string ? true : false;&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="mapped-types-con-keyof"&gt;Mapped Types con keyof
&lt;/h2&gt;&lt;p&gt;Transforman cada propiedad de un tipo existente. &lt;code&gt;Partial&amp;lt;T&amp;gt;&lt;/code&gt;, &lt;code&gt;Required&amp;lt;T&amp;gt;&lt;/code&gt;, &lt;code&gt;Readonly&amp;lt;T&amp;gt;&lt;/code&gt;, &lt;code&gt;Pick&amp;lt;T, K&amp;gt;&lt;/code&gt;. Desde TS 4.1, remapeo de claves con template literal types.&lt;/p&gt;</description></item></channel></rss>