「還在打 15 倍流水?笑死,這裡只要 1 倍就出款!」

「還在打 15 倍流水?笑死,這裡只要 1 倍就出款!」

首存 1000 直接送你 577,根本是送錢給你花 。 全網唯一敢開「一倍流水」的盤口,贏了馬上領走。 別家都在騙你本金,FK57 只要你敢來拿。

立即註冊

TypeScript中Pick的用法是什麼?

作者: 型別探險家
2025-07-08T06:19:57.830503+00:00

TypeScript 的 Pick:精選你需要的型別

各位朋友,在 TypeScript 的世界裡,有時候我們不需要一個型別的所有屬性,只需要其中的一部分。這時候,Pick 就派上用場啦!它就像一個篩子,幫你從現有的型別中,挑選出你想要的屬性,創建一個全新的型別。想像一下,你有一堆樂高積木,但你只想用其中幾塊來蓋房子,Pick 就相當於幫你把需要的積木挑出來。

立即探索更多!

Pick 的基本用法:

Pick 接收兩個泛型參數:Type 是你想要篩選的原始型別,而 Keys 則是一個字串字面量類型聯合,指定你想要保留的屬性名稱。舉個例子,如果我們有一個 Person 型別,包含 nameageaddress 三個屬性,我們可以這樣使用 Pick
type Contact = Pick;
這樣,我們就創建了一個新的型別 Contact,它只包含 nameage 兩個屬性。是不是很方便呢?

點我解鎖秘密!

實際應用場景:

Pick 在很多場景下都非常有用。例如,在前端開發中,你可能只想從 API 返回的資料中提取一部分屬性來顯示在 UI 上。或者,在進行數據處理時,你可能只需要原始資料中的某些列。再舉個例子,想像你是一個餐廳的服務生,客人點了一份套餐,你只需要從菜單上把客人點的菜品挑出來,而不是把整個菜單都搬到客人面前。
讓我們來看一個更實際的例子:
interface Product { name: string; price: number; description: string; imageUrl: string; }
type ProductSummary = Pick;
這樣,ProductSummary 就只包含產品的名稱和價格,方便在商品列表上展示。

立即深入了解!

與 Omit 的比較:

常常有人把 PickOmit 搞混。它們的功能正好相反。Pick 是從現有的型別中挑選屬性,而 Omit 則是從現有的型別中排除屬性。你可以把 Pick 想像成「取」,把 Omit 想像成「捨」。如果你想保留一部分屬性,就用 Pick;如果你想排除一部分屬性,就用 Omit。選擇哪個取決於你的需求。就像你在整理房間,你想保留一些東西,也想丟棄一些東西,具體怎麼做取決於你想保持房間的整潔程度。

探索更多精彩!

總結

Pick 是一個非常實用的 TypeScript 工具,可以幫助你精確地定義你需要的型別,提高程式碼的可讀性和可維護性。掌握 Pick 的用法,可以讓你更加自信地在 TypeScript 的世界中遨遊。記住,善用 Pick,讓你的程式碼更加簡潔、高效!下次當你遇到需要從現有型別中挑選屬性時,別忘了 Pick 這個好幫手!希望這篇文章能幫助你更好地理解 Pick 的用法,祝你編碼愉快!🔥

立即開啟您的冒險!

常見問題

Pick 型別的用途是什麼?

Pick 用於從現有的型別中選擇特定屬性,創建一個包含這些屬性的新型別。這可以幫助我們精簡型別定義,只保留必要的資訊。

Pick 和 Omit 有什麼區別?

Pick 是「選取」特定屬性,而 Omit 則是「排除」特定屬性。它們的功能正好相反,根據你的需求選擇使用哪個工具型別。

Pick 可以使用於介面 (Interface) 還是類型別名 (Type Alias)?

Pick 可以與介面和類型別名一起使用,因為它們都定義了型別結構。

如果我想從一個巢狀的型別中提取屬性,Pick 能做到嗎?

Pick 只能直接提取頂層的屬性。對於巢狀型別,可能需要結合其他 TypeScript 功能(例如 mapped types)來實現更複雜的屬性提取。

使用 Pick 有哪些好處?

使用 Pick 可以提高程式碼的可讀性、可維護性,並減少不必要的型別定義,使程式碼更簡潔、高效。

Pick 的 Keys 參數如何定義?

Keys 參數是一個字串字面量類型聯合,指定你想要保留的屬性名稱。例如:'name' | 'age' 表示只保留 name 和 age 屬性。

相關評價

陳品翰
2025-04-18 02:25

這篇文章講解得很清楚,讓我更好地理解了 Pick 的用法,在實際專案中可以幫助我簡化型別定義。


李欣怡
2025-01-10 10:42

雖然我主要使用後端技術,但 Pick 在處理 API 資料時也很有用,可以方便地提取需要的屬性。


王建國
2024-08-13 23:16

文章深入淺出,清晰地解釋了 Pick 的概念和應用場景,對於提升團隊的程式碼品質非常有幫助。


張雅婷
2024-07-12 22:17

這篇文章非常適合 TypeScript 的初學者,它提供了清晰的範例和實用的技巧,可以幫助他們快速掌握 Pick 的用法。


劉志明
2025-02-20 22:16

文章解釋清楚,範例也實用,但如果能更深入地探討 Pick 與其他進階 TypeScript 功能的結合,會更好。


楊淑芬
2025-04-01 04:16

文章內容紮實,對團隊提升TypeScript技能很有幫助,能幫助我們撰寫更安全、更易於維護的程式碼。


相關留言

小柯
2024-12-23 06:40

太棒了!這篇文章解決了我一直以來的困惑,終於知道 Pick 要怎麼用了!


程式新手
2025-02-28 09:55

文章寫得超好,很容易理解,謝謝作者分享!


TypeScript 愛好者
2025-02-10 22:05

這篇文章讓我對 TypeScript 的型別系統有了更深的認識,值得推薦給每一位 TypeScript 開發者。


阿嬤
2025-04-29 00:42

雖然我不太懂程式,但我知道這篇文章對我的孫子很有幫助,感謝啦!


前端工程師小李
2024-10-21 18:48

範例很實用,可以直接套用到我的專案裡,省了我很多時間!


程式學徒
2025-03-12 19:22

感謝分享!文章清楚易懂,讓我對 TypeScript 的Pick更有信心了!


信號運作的幕後揭秘

信號提供許多優勢,包括內建的詳細反應性、簡單的 API、簡潔而直接的數據流等。因此,信號被幾乎所有主要的框架所利用,包括 Solid、Qwik、Angular 和 Vue。由於信號如此受歡迎,因此現在有一個建議將其作為 JavaScript 語言的一部分:GitHub - tc39/proposal-signals: 一項將信號納入 JavaScript 的建議。信號很棒,但它們背後是如何運作的呢?在這篇文章中,我將以 SolidJs 語法進行探討,但這些概念適用於所有使用信號的框架。接下來,我會解釋真實實作的一個簡化版本。讓我們從信號世界中最基本的單元:信號本身開始探討吧。## 信號信號是一種反應性數據結構,用於管理應用程式中的狀態。讓我們來創建一個信號!我們創建一個擁有一個值(在這裡是“John”)和一個訂閱者列表的盒子。我們還返回了一個訪問器(這裡是 name)和一個設定器(setName)。訪問器提供了一種訪問信號內數據的方法;我們不能直接訪問值。設定器用於更新信號中的數據,因為不允許直接訪問。很好,我們有一個儲存狀態的方法,但我們還需要一種對狀態變更做出反應的方法。為此,我們可以使用效果。## 效果效果是我們用來對信號變化反應的工具。讓我們使用一個來看看它是如何運作的。我們創建了一個非常基本的效果,調用 name 訪問器並打印結果到控制台。這是我們的小效果,其中包含了一個匿名函數。要理解當我們創建一個效果時發生了什麼,需要介紹 跟蹤上下文。跟蹤上下文是一個全球運行時堆疊,幫助跟蹤目前正在執行的內容。當我們創建一個效果時,我們將其推入到跟蹤上下文中。一旦我們將效果推入到跟蹤上下文中,我們執行其包含的函數。在 createEffect 中執行任何訪問器時會發生魔法。因此,我們打印出 John 到控制台。並從跟蹤上下文中移除效果:我們已經打印到控制台。這有什麼大不了的呢?為了解釋這一點,我們需要調用設定器 setName。## 調用設定器在調用設定器時,我們更新信號持有的值。接下來,我們檢查訂閱者列表,將它們從列表中移除,並分別調用它們。我們將信號中的值替換為 “Jane”,從列表中移除效果,然後調用它。在這個過程中,這個效果重新註冊為信號的訂閱者。我們擁有一個對狀態變更做出反應的動畫系統。易於看到該系統如何用於細粒度的使用者介面更新,實質上創建一個僅在特定信號更改時渲染組件的效果。我們也可以看到該系統如何隨著更多組件訂閱更多信號而擴展。所有這些好處都不需要開發人員額外的努力—訂閱在幕後自動處理。簡單用一個字形容:了不起!## 記憶化如果我要你找出1216的積,你可能需要想一想——或許是先算62再加上其他數字,等等。但是如果我再問你一次,你可能會不費吹灰之力地說出192。有時,記住我們已經做過的計算比反覆運行它們更有好處。這種邏輯同樣適用於信號。我們可以用 createMemo 函數來在信號中實現這一模式。當我們調用 createMemo 函數時,在幕後發生了什麼?首先,我們創建一個具有訂閱者數組的備忘單元,類似於我們如何處理信號。然後,我們將一個特殊的包裝函數 M: f() 放在跟蹤上下文中,就像我們對效果所做的一樣。然後我們將結果保存到備忘單元中。這基本上意味著我們總是可以返回已保存的值,並避免重新計算,直到我們訂閱的信號發生變化為止。讓我們看看當用 memo()createMemo 函數的返回值)時會發生什麼。我們創建了一個調用 memo 函數的效果。再一次,我們看到與信號訪問器函數相同的模式——當其被調用時,我們查看跟蹤範圍的頂部,並將效果註冊為備忘單元的訂閱者。然後,我們打印出 effect: 2,使用備忘值而不重新運行計算——太成功了!當我們更改信號的值時,讓我們看看這一切如何運行。經過更改信號的值後,我們調用所有訂閱者——在此情況下為包裝備忘函數。再次運行函數導致以下結果:備忘包裝函數再次註冊為信號的訂閱者,備忘單元中保存的值更新為4,我們調用所有備忘訂閱者。然後,調用備忘訂閱者結果執行效果並打印 effect: 4。所有訂閱者被設回到位置,準備迎接下一個信號變化。基本上,備忘單元允許我們創建一個如我們所需般大的反應性圖,對於備忘重計算提供性能提升。記住要使用 createMemo 當你想避免重複計算繁重的計算時。## 總結我們探索了信號如何在幕後運作以及它們自動訂閱的機制。然後,我們探討了效果如何運作並依靠著跟蹤範疇訂閱信號。接著,我們學會了 createMemo 的操作方式以及如何用它來避免重複計算繁重的計算。信號在前端世界是一種強大而流行的工具。現在你理解了它們如何運作,你可以用它們創造些驚人的東西。


使用Llama 3.1創建合成數據集以微調您的LLM

數據是人工智慧的核心,開發高質量的數據集既具挑戰性又昂貴。良好的數據集可以彌補模型複雜性的不足,這在大型語言模型中尤為明顯。本文將探討如何使用Llama 3.1 405B創建自然語言git命令的合成數據集。我們會展示如何在不需大量GPU的情況下使用這個強大的工具。初步的指令和回應數據集準備好後,我們將使用Nvidia的Nemotron 4作為獎勵模型,篩選不良的提示/回應對,最終將該數據集發布到HuggingFace,以便後續微調我們的LLM。這個過程將是快速且免費的,並使您保持高度的控制。我將盡力在這篇文章中保持簡潔和知識豐富,因此請確保閱讀到最後以熟悉這一關鍵技能。


Zenly:隱私保護與定位使用的雙刃劍

現在許多用戶開始使用一款名為Zenly的定位交友應用程式,俗稱冰棒。這款APP提供即時查看親友位置的功能,不僅在社交圈流行,也在尋找抓姦的情侶間得到廣泛應用。近期的Zenly版本更新帶來了一些新功能和變化,讓我們一起來探討這些功能及如何應用。

Zenly的多種功能

Zenly主要是一個定位交友軟體,其功能包括即時顯示好友位置、查看手機電量、天氣、移動速度等。它還有聊天和記錄感情的功能,使人們之間保持聯繫。

隱藏位置的凍結功能

有時用戶可能希望隱藏位置,Zenly因此提供凍結功能。用戶可以選擇讓好友看到準確位置、模糊位置或最後的凍結位置,從而保護隱私。

Zenly外掛與定位破解

為了在不暴露位置的情況下給對方驚喜,用戶可以使用像iMyFone AnyTo這樣的外掛程式,隨時改變裝置的地理位置。

Zenly最新和被移除的功能

Zenly的版本更新經歷了一些重要變化。新增了摯友、知己等功能,但也取消了地新探險等舊功能。此外,「你的世界」功能讓用戶可以查看好友的行跡。

如何回復Zenly舊版

如果有人不習慣新版本,可選擇回到Zenly的舊版本,安卓用戶可以通過apkmirror下載舊版APK來實現這一點。


嵌入式Linux的Golang與HTMX結合應用

近六年來,我一直在Pantacor工作,該公司開發了一個開源框架,用於嵌入式Linux的容器化應用。隨著科技的不斷發展,嵌入式系統中的微服務架構變得越來越重要。

介紹

Pantacor致力於開發嵌入式Linux的解決方案,隨著新技術的引入,如Golang和HTMX的結合,應用的開發變得更為靈活和高效。

微服務中的韌性模式

在設計微服務架構時,韌性模式是確保系統穩定性的重要因素。這些模式幫助應對可能的故障,增強系統的耐用性。

單體架構

單體架構自成一體,但在應對複雜性和擴展性方面存在挑戰,許多組織轉向微服務以獲得更大的靈活性。

tmux使用心得

在使用tmux的五年間,我發現其中許多功能無法替代,大大提升了日常工作的效率和便利性。

創建無環境變數的Angular應用

從硬編碼的環境切換至通用構建,使得Angular應用能在不同環境中靈活運行,提升了開發效率。

Istio的無邊車創新

Istio引入的無邊車創新,為Kubernetes中的服務連接提供了新的解決方案,降低了系統的複雜性。

快速部署Elastic Search、Logstash和Kibana

在家用實驗室中部署自己的日誌平台,即使是接收Syslog事件,也能在幾分鐘內完成。

分布式系統中的故障轉移機制

故障轉移是分布式系統中的關鍵機制,確保在故障發生時系統仍能持續運行。

Pinia的正確用法

放棄Vuex,轉向Pinia後,我發現其提供了兩種語法,並示範了基本的用例。

架構元模式列表

架構元模式的分類,幫助開發者更好地選擇和實現合適的設計方案。

運用標記接口與反射的威力

通過運用標記接口與反射,進行單元測試,以驗證軟體設計的選擇。

在Angular中使用LaunchDarkly功能標籤

功能標籤的應用,為產品的功能發佈提供了更大的靈活性和控制力。


AI生成內容的商業指南

策略:建立真實的消費者信任

AI技術日新月異,越來越多企業開始利用AI生成內容。然而,今日的消費者也在迅速變得熟悉AI。低質量與過時的AI圖像風格常被聯想為廉價或不真實,這可能損害品牌的可信性。

要克服這一點,企業必須專注於將真實性與自家品牌的專有模型、人工觸感及價值融入到其AI驅動的內容中。

讓AI生成出色的內容,然後讓你的團隊專注於真實的交流互動。

AI與人類專業結合

提升AI生成內容最有效的方法之一是透過人類監督與編輯。AI能夠生成結構、重點,以及大量的訊息,但人類編輯可以為最終產品注入個性、文化相關性和情感深度。

提示: 在AI生成內容後,讓團隊成員審核並藉由添加個人故事、當地參考或具體客戶痛點來增強內容。這種方法可維持AI的效率,同時保留獨特的人類視角。

著重於敘事,而不僅僅是信息

AI經常在以引人入勝的敘事格式傳遞事實方面表現出色。敘事是企業用來情感上與觀眾連接的最強大工具之一。

透過訓練AI加入地方故事、個人經歷、企業歷史和客戶案例研究,你可以從靜態事實轉變為引人入勝且令人難忘的故事內容。

提示: 將客戶故事、推薦信,甚至企業幕後花絮融入AI生成的內容,以展示真實性並建立與讀者更深層的連結。

擁抱透明性

消費者重視誠實,當他們懷疑內容來自AI時,對品牌的信任可能會動搖。然而,透明性可以將其轉化為優勢。承認使用AI並將其定位為提高價值的工具可以建立信任並改善評價。

提示: 在您的博客文章、市場推廣材料或社交媒體內容中,公開討論AI如何支持您的業務。您可以突顯出AI在生成初稿或分析數據等任務中的助益,人類專家確保最終產品符合品牌價值和聲音。

優先考量高品質輸入

AI的好壞取決於所接收的數據和輸入。低質量的提示或最少的信息可能導致通用和缺乏靈感的內容。為克服這一點,企業需投入時間於打造反映所需風格和深度之深思熟慮的提示中。

提示: 訓練AI在高品質且特定於行業或品牌的數據上,確保提示設計逼使回應具詳細性、相關性和意義。這將產生感覺與品牌身份更加契合的內容。

利用AI實現個性化

AI具有分析消費者數據和偏好的能力,以創建更深層共鳴的個性化內容。利用AI驅動的洞見來量身定制訊息給具體受眾,可以打擊普通或大量生產內容的感知。

提示: 根據客戶行為、先前互動和人口統計數據,使用AI個性化電子郵件、產品推薦或博客文章。這一層次的定制讓內容感覺是專門為接收者打造的,促進聯繫和關懷。

保持品牌聲音一致

AI生成的內容有時可能脫離品牌已建立的語調和聲音。為防止這一點,企業需要創建明確的指南,以幫助使AI生成的內容保持與其信息的一致性。

提示: 制定品牌風格指南,定義公司語調、聲音和價值。將這些信息輸入您使用的AI工具中,確保輸出與您的品牌想要被感知的方式一致。定期審查和調整應成為此過程的一部分,以維持一致性。

平衡AI使用與人類互動

最終,AI不應取代人類互動,而應處理例行任務並增強更多人類互動。

消費者渴望真實的交互,在您的客戶旅程中擁有人工接觸點至關重要,如現場客戶支持、社交媒體上的個人回應和面對面互動。

提示: 使用AI來處理內容創建、數據分析或例行客戶服務查詢,確保在需要時消費者能夠獲得人類互動。這種平衡將提高效率,而不會犧牲消費者珍視的人際關係。

結論:AI作為真實性促進者,而非替代品

內容創建中的AI是一種強大的工具,需謹慎使用以避免廉價或不真實的感知。

藉由將AI與人類輸入融合,專注於敘事、保持透明,並保持強烈的品牌聲音,企業能生產出與受眾產生共鳴的高品質、真實內容。

當做對時,AI不會削弱真實性——反而透過更好的內容規劃來增強您的SEO和進站式行銷策略。

透過採用這些策略,企業可以利用AI的能力,同時確保其內容在消費者眼中保持真實、引人入勝且可信賴。


隱私全揭露!Zenly定位交友App的衝擊與魅力

近來,一款名叫Zenly、被暱稱為「冰棒」的定位交友應用程式迅速崛起,這款App讓使用者能夠追蹤朋友和家人的實時位置,提供了一種新的互動方式。Zenly的最新更新引發了廣泛關注,本文將深入探討其功能與影響。

Zenly的誕生與受歡迎原因

Zenly是一款由法國公司開發的應用程式,其誕生初衷是提供朋友和家人間更緊密的聯繫,迅速在年輕人中間流行,成為了解好友動態的便捷工具。

功能特色介紹

Zenly以其即時定位分享而聞名,用戶可以看到朋友的活動地點,設定去向通知和留下訊息等功能。不過,也有一些人擔心這會帶來過多的隱私曝光。

隱私與安全性疑慮

隨著個性化功能的推出,隱私問題成為使用者最關心的重點,Zenly如何保護數據安全是很多人關注的議題,也影響著其進一步的市場接受度。

社交互動的新形式

透過Zenly,用戶可以體驗到不同於傳統網絡社交平台的新互動方式。它不僅是定位工具,還成為了一個社交平台,使朋友間的互動更具象化。

使用體驗與評價

使用者對Zenly的評價褒貶不一。有人稱讚其便捷和創新,也有人擔憂它對隱私的潛在風險。這些反饋促使開發者尋求改善和創新。

更多推薦文章

Top