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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 映射類型 像構建CRUD特性一樣,通常需要基于實體類型創建變體。Nest提供了一些應用函數來進行類型變換,以讓這類變換工作更簡單。 ### `Partial(部分聲明)` 在創建數據轉換對象(也稱為DTO),將`創建`和`更新`創建為同一類型通常很有用。例如,創建變體可能需要所有字段,但更新變體可能將所有字段都配置為可選的。 Nest提供了`PartialType()`應用函數讓這一任務更簡單地最小化構造。 `PartialType()`函數返回一個類型`(類)`將輸入的所有屬性配置為可選的。例如,你可以這樣創建一個類型。 ```TypeScript import { ApiProperty } from '@nestjs/swagger'; export class CreateCatDto { @ApiProperty() name: string; @ApiProperty() age: number; @ApiProperty() breed: string; } ``` 默認所有的字段都是必須的。要創建一個所有字段與之相同但都是可選的字段,使用`PartialType()`并將`CreateCatDto`作為參數。 ```TypeScript export class UpdateCatDto extends PartialType(CreateCatDto) {} ``` > `PartialType()`函數從`@nestjs/swagger`引入. ### `Pick(拾取)` `PickType()`函數從輸入類型中拾取一部分屬性并生成一個新類型(類) 。假設我們起始類如下: ```TypeScript import { ApiProperty } from '@nestjs/swagger'; export class CreateCatDto { @ApiProperty() name: string; @ApiProperty() age: number; @ApiProperty() breed: string; } ``` 我們使用`PickType()`從中拾取一部分屬性: ```TypeScript export class UpdateCatAgeDto extends PickType(CreateCatDto, ['age'] as const) {} ``` > `PickType()`函數 從`@nestjs/swagger`引入. ### `Omit(省略)` `OmitType()`函數拾取所有輸入屬性,移除指定部分屬性。例如,我們起始類型如下: ```TypeScript import { ApiProperty } from '@nestjs/swagger'; export class CreateCatDto { @ApiProperty() name: string; @ApiProperty() age: number; @ApiProperty() breed: string; } ``` 我們可以以此創建一個除`name`之外的包含其他所有屬性的類。`OmitType`函數的第二個參數是包含要移除屬性名稱的數組。 ```TypeScript export class UpdateCatDto extends OmitType(CreateCatDto, ['name'] as const) {} ``` > `OmitType()`函數從`@nestjs/swagger`引入. ### `Intersection(交叉)` `IntersectionType()`函數將兩個類型組合為一個類型(類),例如,我們起始的兩個類型如下: ```TypeScript import { ApiProperty } from '@nestjs/swagger'; export class CreateCatDto { @ApiProperty() name: string; @ApiProperty() breed: string; } export class AdditionalCatInfo { @ApiProperty() color: string; } ``` 我們可以生成一個由兩個類中所有屬性組成的新類型。 ```TypeScript export class UpdateCatDto extends IntersectionType( CreateCatDto, AdditionalCatInfo, ) {} ``` >`IntersectionType()`函數從`@nestjs/swagger`引入. ### `Composition(組合)` 映射類型的使用時可以組合的,例如,以下代碼創建一個類型(類),它包含了`CreateCatDto`除了`name`之外的所有屬性,并將所有屬性設置為可選的。 ```TypeScript export class UpdateCatDto extends PartialType( OmitType(CreateCatDto, ['name'] as const), ) {} ```
                  <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>

                              哎呀哎呀视频在线观看