<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] >[success] # 內置類型 **內置類型** : **JS** 有許多 **原生對象** ,例如 使用 **new Date()** 時,**鼠標指向被賦值的變量** 時就會顯示是 **Date類型** ,這些都是 **內置類型** ,這些 **內置類型** 在安裝 **tsc** 時候會當做一個附加禮物送給我們,在每個**TS** 項目中,**會被自動的加載進去** ,下面用代碼展示一下: **index.ts** ~~~ const a:Array<number> = [1, 2, 3] ~~~ **編輯器圖片** : ![](https://img.kancloud.cn/4d/90/4d908315772558bd3fbf944b3fa843bf_1320x354.png) 在**windows** 中按住 **ctrl** 點擊定義的類型,就會彈出一個 **類型的提示彈窗** ,這時候我們會發現, **它會在不同的文件中都有定義,但是他們都是內部(置)類型的一部分,根據不同的版本或者功能,合并了在一起,這些文件都會以 lib 開頭,以 .d.ts 結尾,告訴大家我是一個內置對象的類型** 。 <br/> 接下來我們看看其他的,我們定義一個 **new Date()** ~~~ const date = new Date() ~~~ **編輯器圖片** : ![](https://img.kancloud.cn/a5/d0/a5d05de7c988c6ce5d6d760cf43f2d71_547x613.png) 在 **常量名稱** 上 **鼠標單擊右鍵點擊【轉到類型定義 或者 Go to Type Definition】** ,就會彈出 **內置類型** 文件的位置,跟剛才的 **Array<number\>** 一樣。這時候我們就有 **Date** 的類型了,使用時會提示 **Date** 的一些方法,如下: ![](https://img.kancloud.cn/83/04/83049ccb17a8b1cff8d47197fe112204_583x362.png) 我們剛才看的 **TS 內部標準庫** 也就是剛才看的 **.d.ts 結尾的文件** ,里面好多 **帶有版本號注明** 的 **.d.ts** 的文件,**也就是說在 TS 中我們可以隨意使用最新版本的 JS 語法** 。 >[success] ## 實用程序類型(Utility Types) [TS官網實用程序類型](https://www.typescriptlang.org/docs/handbook/utility-types.html) 除了 **內置類型** , **TS** 還提供了一些 **功能性幫助性** 的 **類型** ,這些 **類型** 在 **JS** 中是看不到的,我們稱這些類型叫做 **Utility Types** ,我們下面做 **2** 個 **Utility Types** 例子。 1. **Partial(部分)** :它可以 **把傳入的類型都變成可選** 。 **index.ts** ~~~ // 定義接口 interface IPerson { name: string age: number } // 使用接口 let viking: IPerson = { name: 'viking', age: 20 } // 定義類型別名 Partial type IPartial = Partial<IPerson> // 使用接口 let viking2: IPartial = { name: 'viking' } ~~~ 編輯器圖片: ![](https://img.kancloud.cn/b2/b3/b2b3111e4b7997a25c42bcb60bacdd3f_484x326.png) 可以看到 **IPartial** 中的 **name** 與 **age** 都變成了 **可選狀態** 。 2. **Omit(忽略)** :它可以 **忽略傳入類型的某個屬性** **index.ts** ~~~ // 定義接口 interface IPerson { name: string age: number } // Omit<要操作的類型, '要忽略的屬性名稱'> type IOmit = Omit<IPerson, 'name'> ~~~ 編輯器圖片: ![](https://img.kancloud.cn/18/9e/189e3228b102775d3a4ef997d670dc8d_409x255.png) 這樣就能看到 **name** 屬性被忽略掉了 。
                  <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>

                              哎呀哎呀视频在线观看