<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] # 類型縮減 ~~~ 1.兩個聯合類型在類型存在父子時候,會類型縮減以父類型為主 ~~~ >[danger] ##### 舉個例子 ~~~ type URStr = 'string' | string // 類型是 string type URNum = 2 | number // 類型是 number type URBoolen = true | boolean // 類型是 boolean enum EnumUR { ONE, TWO, } type URE = EnumUR.ONE | EnumUR // 類型是 EnumUR type UnionInterce = | { age: '1' } | { age: '1' | '2' [key: string]: string } // {age: '1'|'2', [key: string]: string;} ~~~ >[danger] ##### 產生的問題 ~~~ 1.如圖因為類型縮減后,相對的之前ts 利用編譯器提供的提示功能也消失 ~~~ ![](https://img.kancloud.cn/6c/22/6c22725be595545c2e43e35a1eee57f7_760x397.png) ~~~ 1.TypeScript 官方其實還提供了一個方法,讓類型縮減被控制,可以給父類型添加“& {}” ~~~ ![](https://img.kancloud.cn/11/4c/114cad304606ca3b25d3b6d2c1a4c746_787x181.png) >[danger] ##### 解決索引簽名 -- 可以添加不確定參數 ~~~ 1.接口類型一旦定義了任意屬性那么'確定屬性和可選屬性的類型都必須是它的類型的子集',never是所有類型的子集 ~~~ ~~~ // 之前為了可以定義一個age 屬性是number,但是有可以有不確參數我們需要將不卻參數擴大可以包含age,形成父子級 interface Person { name: string age: number // 報錯 [propName: string]: string // 改正 [propName: string]: any; 或者 [propName: string]: string|number } ~~~ ~~~ // 利用類型縮減 和never 是任意類型子集 即可聲明一個 name 是string age 是number 并且其他任意key 類型是string類型 type Person = | { name: string age: number // 報錯 } | { age: never [propName: string]: string } ~~~
                  <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>

                              哎呀哎呀视频在线观看