<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                >[success] # Record -- 一組屬性 K(類型 T) ~~~ 1.Record 有兩個參數指定key,和key 對應value 值類型 ~~~ >[danger] ##### 源碼 ~~~ type Record<K extends keyof any, T> = { [P in K]: T; }; ~~~ >[danger] ##### 案例 ~~~ // 錯誤用有時候工作,定義了一個對象類型賦值是一個object // object 沒有foo字段會報錯 // let bb: object = { // foo: 's', // } // bb.foo // k 為任意類型 ,value 為任意類型,解決 let aa: Record<any, any> = { foo: 'w', } aa.foo ~~~ >[danger] ##### 案例 ~~~ interface Info { name:string, age:number } // 定義的a key 是Info 接口Key類型,value 是string類型 const a:Record<Info[keyof Info],string> = { name:'w', age:'w' } ~~~ >[danger] ##### 案例 ~~~ function mapObject<K extends string | number, T, U>(obj: Record<K, T>, f: (x: T) => U): Record<K, U> { const res: any = {} for (const key in obj) { res[key] = f(obj[key]) } return res } const names = { 0: 'hello', 1: 'world', 2: 'bye' } const lengths = mapObject(names, (s) => s.length) console.log(lengths) ~~~ >[danger] ##### 案例 ~~~ type MenuKey = 'home' | 'about' | 'more'; interface Menu { label: string; hidden?: boolean; } const menus: Record<MenuKey, Menu> = { about: { label: '關于' }, home: { label: '主頁' }, more: { label: '更多', hidden: true }, }; ~~~ >[danger] ##### 案例 ~~~ import { IncomingMessage, ServerResponse } from "http"; enum Methods { GET = "get", POST = "post", DELETE = "delete", PUT = "put", } type IRouter = Record<Methods, (req: IncomingMessage, res: ServerResponse) => void>; ~~~ ![](https://img.kancloud.cn/69/7c/697cda72865af40c0ec7f52fef9c2487_846x307.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看