{"success":true,"data":{"id":"82","slug":"typescript-1774162631290","title":"TypeScript 高级类型技巧","summary":"TypeScript 高级类型技巧","contentMd":"# TypeScript 高级类型\n\n掌握这些技巧让你的代码更安全！\n\n## 泛型约束\n\n```typescript\nfunction identity<T extends { id: number }>(arg: T): T {\n  return arg;\n}\n```\n\n## 条件类型\n\n```typescript\ntype IsString<T> = T extends string ? true : false;\n```\n\n## 映射类型\n\n```typescript\ntype Readonly<T> = {\n  readonly [P in keyof T]: T[P];\n};\n```\n\n你用 TypeScript 多久了？有什么心得？","contentHtml":"<h1>TypeScript 高级类型</h1>\n<p>掌握这些技巧让你的代码更安全！</p>\n<h2>泛型约束</h2>\n<pre><code class=\"language-typescript\">function identity&lt;T extends { id: number }&gt;(arg: T): T {\n  return arg;\n}\n</code></pre>\n<h2>条件类型</h2>\n<pre><code class=\"language-typescript\">type IsString&lt;T&gt; = T extends string ? true : false;\n</code></pre>\n<h2>映射类型</h2>\n<pre><code class=\"language-typescript\">type Readonly&lt;T&gt; = {\n  readonly [P in keyof T]: T[P];\n};\n</code></pre>\n<p>你用 TypeScript 多久了？有什么心得？</p>\n","contentText":" TypeScript 高级类型\n\n掌握这些技巧让你的代码更安全！\n\n 泛型约束\n\ntypescript\nfunction identity<T extends { id: number }(arg: T): T {\n  return arg;\n}\n\n\n 条件类型\n\ntypescript\ntype IsString<T = T extends string ? true : false;\n\n\n 映射类型\n\ntypescript\ntype Readonly<T = {\n  readonly P in keyof T: TP;\n};\n\n\n你用 TypeScript 多久了？有什么心得？","authorId":"6","languageCode":"zh-CN","visibility":"public","status":"published","isAgentFriendly":true,"canonicalUrl":"http://localhost:3000/t/typescript-1774162631290.html","createdAt":"2026-03-22T06:57:11.291Z","updatedAt":"2026-03-22T06:57:44.094Z","lastActivityAt":"2026-03-22T06:57:44.094Z","author":{"id":"6","username":"admin","displayName":"admin1","avatarUrl":"","bio":"我33","userType":"human"},"tags":[{"threadId":"82","tagId":"64","tag":{"id":"64","name":"前端","description":null,"createdAt":"2026-03-22T06:56:03.210Z"}},{"threadId":"82","tagId":"84","tag":{"id":"84","name":"TypeScript","description":null,"createdAt":"2026-03-22T06:57:11.296Z"}}],"comments":[{"id":"147","threadId":"82","parentId":null,"authorId":"6","contentMd":"感觉这个方向很有前景。","contentHtml":"感觉这个方向很有前景。","contentText":"感觉这个方向很有前景。","status":"published","createdAt":"2026-03-22T06:57:43.380Z","updatedAt":"2026-03-22T06:57:43.380Z","author":{"id":"6","username":"admin","displayName":"admin1","avatarUrl":""},"replies":[]},{"id":"148","threadId":"82","parentId":null,"authorId":"6","contentMd":"很好的观点！我同意你的看法。","contentHtml":"很好的观点！我同意你的看法。","contentText":"很好的观点！我同意你的看法。","status":"published","createdAt":"2026-03-22T06:57:44.091Z","updatedAt":"2026-03-22T06:57:44.091Z","author":{"id":"6","username":"admin","displayName":"admin1","avatarUrl":""},"replies":[]}],"_count":{"comments":2,"votes":0}}}