cost 119 ms
三元類型縮小

[英]type narrowing in ternary

在下面的myFunction中,我接受一個字符串或字符串數組的參數,並將其規范化為 function 主體中的一個數組: 我希望Array.isArray將三元運算符分支中的類型縮小為string或string[] ,以便myStringArray的最終類型為string[] 。 相反,最終類型更復 ...

TypeScript 縮小數組不起作用

[英]TypeScript narrowing of array does not work

在我的 TypeScript 代碼中,我使用 arrays 的字符串,這些字符串只能是某些字母,因此對於這些我使用類型("A" | "B")[]如果字母是A和B (例如)。 現在,我有一個 function,它有一個任意字符串數組作為輸入(所以類型是string[] ),我需要驗證這是否實際上是上述 ...

如何在不使用兩次返回的情況下更優雅地縮小 TypeScript 類型?

[英]How to narrow TypeScript types more elegantly, without using two returns?

假設我有一個對象是ApiErrorType | ApiSuccessType ApiErrorType | ApiSuccessType基於下面定義的類型。 這兩種類型有一些相似之處,但timestamp僅與ApiErrorType相關,如果isError為false則永遠不會出現。 我想通過返 ...

如何在Typescript中動態地從聯合類型的function中挑選generics?

[英]How to pick generics from function in union type dynamically in Typescript?

假設我有一個這樣的 function: 還可以說我有幾個請求和一個包含這些請求的“商店”: 我現在想為商店中的每個請求生成 foo 函數。 為商店中的每個請求使用顯式密鑰手動添加它們: 但是像這樣動態添加它們是行不通的: 有沒有什么辦法可以重寫這個,以便可以為“requestStore”中的每個條 ...

使用 function 縮小 object 屬性

[英]Type narrowing object properties with a function

我有一個具有許多嵌套屬性的復雜類型。 我想要縮小類型。 這似乎適用於基本原語,但是當涉及 object 時,TS 似乎無法使用相同的原則縮小屬性范圍。 我當然可以將其更改為以下內容,但這會使代碼更難閱讀 我真的不想為了使用類型保護而創建一個新類型。 我覺得我缺少一些基本簡單的東西。 ...

如果鍵是字符串類型,為什么“myObject 中的鍵”不會縮小類型?

[英]Why "key in myObject" does not narrow the type if key is of type string?

我不明白這一點: 條件顯式地使key成為真實分支中VALUES中的鍵之一。 那么為什么 typescript 會抱怨呢? 不會key in obj窄key成為obj中的鍵之一嗎? 我知道我可以做以下兩件事之一來修復它: 一種/ 乙/ 但是,如果我想將VALUES類型限制為那些鍵,和/或key參數保 ...

使用 noexcept 的程序被 msvc 和 clang 接受但被 gcc 拒絕

[英]Program using noexcept accepted by msvc and clang but rejected by gcc

我正在使用此處列出的書籍學習 C++。 特別是,我最近使用C++ 入門一書了解了 noexcept noexcept 現在,為了進一步理清我對該主題的概念並確認我理解正確,我正在編寫簡單的程序。 下面給出了一個使用 MSVC 和 Clang 但不使用 GCC 編譯的程序。 演示。 所以我的問題是哪個 ...

Typescript:如何將鍵數組轉換為聯合類型的對象?

[英]Typescript: How to convert an array of keys into a union type of objects?

1. 字符串數組 -> 字符串聯合(有效) 我看到一個解決方案從字符串數組創建字符串文字的聯合。 2. 字符串數組 -> 對象聯合(有可能嗎?) 我的問題是是否可以從字符串數組創建對象聯合? 下面的代碼有效,我只想用keyof IObject之類的東西縮短SET_PROPERTY_ ...

基於參數類型的返回類型

[英]Return type based on parameter type

我的功能是這樣的: 每當我調用 safeIdCastToNumber 時,我都可以使用類型聯合string | null | undefined string | null | undefined string | null | undefined但也有一些帶有類型聯合string | und ...

如何在 TypeScript 中鏈接/加入/關聯兩個函數參數的類型?

[英]How do I link/join/relate the types of two function parameters in TypeScript?

基於關於鏈接類字段的類似問題,我如何讓 TypeScript 識別函數的一個參數的值(其值在運行時確定)限制了另一個參數的類型? 示例代碼( 操場): class Cat { purr() {/*...*/} } class Dog { bark() {/*...*/} } interface T ...

通過括號元素訪問的控制流分析將對象字段的類型縮小為類型數組

[英]Narrow down type of object field to type array via control-flow analysis for bracketed element access

TypeScript 4.7 改進了對括號元素訪問進行控制流分析的類型縮小。 我還想做的是檢查訪問的字段是否是數組。 現在,我不知道為什么類型保護不起作用: Error: Type 'never[]' is not assignable to type 'string'.(2322) 正 ...

如何根據現場存在縮小對象類型?

[英]How to narrow object type based on field presence?

我有 2 個類似的端點,一個用於獲取列表,另一個用於獲取過濾列表。 現在不可能通過后端的查詢參數將它們合並到一個端點中。 所以我有一個函數可以根據 id 字段的存在來決定使用哪個端點。 問題是我無法獲得正確的類型推斷,無法縮小args 。 游樂場鏈接 怎么做? 也許,最好使用聯合,但我看不到判別 ...

為什么我不能用左值初始化這個 std::vector?

[英]Why can't I initialize this std::vector with an l-value?

我遇到了一個有趣的問題,但我無法理解發生了什么: 從我可以看到,我提供的單個整數參數可以解釋為使用參數size_type count調用構造函數,也可以解釋為使用初始化列表的構造函數。 似乎只有在我提供 l 值時才調用initialiser_list構造函數,但在我提供 r 值int時才調用si ...

縮小轉換 (int64_t * static_cast<float> (雙倍的))</float>

[英]Narrowing conversion on a (int64_t * static_cast<float>(double))

我正在修復我正在使用的代碼庫中的一些 lint 錯誤,我看到以下行 linter 抱怨說narrowing conversion from 'int64_t' (aka 'long') to 'float' 。 似乎scale * static_cast&lt;float&gt;(x)是導致問題 ...

為什么加short的時候會有int到short的narrowing conversion warning? (C++)

[英]Why is there a narrowing conversion warning from int to short when adding shorts? (C++)

對於以下數組,我有一個類似於此的代碼: 現在讓我們假設出於某種原因我想將該數組的幾個元素添加到一個名為 nn_sum 的短整數中: 然而,當我在 CLion IDE 上執行此操作時,Clang-Tidy 將其標記為黃色並告訴我: 為什么會這樣? 為什么會縮小? C++ 添加時是否將短褲轉換為整數 ...

自定義反應掛鈎的窄聯合類型

[英]Narrow union types for custom react hook

我有 4 個對象,它們幾乎沒有相似的鍵和一些不同的鍵。 我正在使用他們的聯合進行數據庫操作,就像這樣-&gt; type Objects = Food | Diary | Plan | Recipe; 分頁自定義鈎子 在 StockDisplay 組件中調用自定義掛鈎 此時,foods 的類型是co ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM