Sunrabbit

รับค่าคงที่ด้วย generic

สร้าง: 2024-10-30

สร้าง: 2024-10-30 17:41

บางครั้งเราต้องการใส่ชนิดเดียวกันที่ไม่ใช่ string แต่เป็น "hello" ใน generic ด้วย

แต่เป็นหนึ่งในเนื้อหาที่การอนุมานชนิดทำได้ไม่ดีนัก

```


เมื่อเราพัฒนาไลบรารี เราพยายามอย่างหนักที่จะทำให้การอนุมานชนิดแข็งแกร่งขึ้นเพื่อประสบการณ์การใช้งานที่ดีของผู้ใช้

```

เพื่อให้สามารถอนุมานชนิดได้ดังตัวอย่างด้านบน


เราสามารถทำได้หลายวิธี

```

วิธีการใช้ as const และ readonly แต่

นี่เป็นสิ่งที่ผู้ใช้ใส่เข้าไปเอง ไม่ใช่สิ่งที่นักพัฒนาไลบรารีทำได้


ดังนั้นใน TS 5.0 จึงมีการสร้างคีย์เวิร์ดใหม่ขึ้นมาเพื่อให้นักพัฒนาไลบรารีสามารถทำได้


ด้วยคีย์เวิร์ดนี้ เราสามารถจัดการได้อย่างง่ายดายดังนี้

```


สามารถใช้กับ array หรือ literal type ได้ แต่ใช้ไม่ได้กับ arrow function อย่างน่าเสียดาย

ถึงกระนั้นก็ตาม นี่เป็นข่าวดีสำหรับนักพัฒนาไลบรารีและผู้ใช้

ความคิดเห็น0

[Effective Java] รายการที่ 6: หลีกเลี่ยงการสร้างออบเจ็กต์ที่ไม่จำเป็นการสร้างออบเจ็กต์ที่ไม่จำเป็นนั้นนำไปสู่การสิ้นเปลืองหน่วยความจำ ดังนั้น สำหรับออบเจ็กต์ เช่น สตริง หรือบูลีน ควรใช้ลิเทอรัลหรือเมธอดจากโรงงานแบบคงที่แทน
제이온
제이온
제이온
제이온

April 28, 2024

[Effective Java] รายการที่ 4: หากต้องการป้องกันการสร้างอินสแตนซ์ ให้ใช้คอนสตรัคเตอร์แบบ privateอธิบายวิธีการใช้คอนสตรัคเตอร์แบบ private เพื่อป้องกันการสร้างอินสแตนซ์ เมื่อสร้างคลาสยูทิลิตี้ที่ใช้เพียงเมธอดและฟิลด์แบบ static เท่านั้น
제이온
제이온
제이온
제이온

April 28, 2024

ไทป์สคริปต์ (Typescript) กำลังจะถูกแทนที่หรือ? (feat เรื่องจริง)สรุปประเด็นการถกเถียงเกี่ยวกับการถูกแทนที่ของไทป์สคริปต์ ซึ่งเป็นภาษาโปรแกรมอันดับ 5 ในปี 2023 เราจะมาดูความแตกต่างระหว่างไทป์สคริปต์กับจาวาสคริปต์ รวมถึงการเคลื่อนไหวที่กำลังเกิดขึ้นในการเลิกใช้ไทป์สคริปต์ในโครงการโอเพนซอร์ส
렛플
렛플
렛플
렛플

February 20, 2024

[Effective Java] รายการที่ 5: อย่าระบุทรัพยากรโดยตรง ให้นำการฉีดพึ่งพา (Dependency Injection) มาใช้แทนเรียนรู้วิธีการใช้การฉีดพึ่งพาเพื่อเพิ่มความยืดหยุ่นและความสะดวกในการทดสอบของคลาส และกำจัดการพึ่งพาทรัพยากรโดยชัดแจ้ง
제이온
제이온
제이온
제이온

April 28, 2024

การสร้างส่วนประกอบ UI Library ให้เป็นส่วนประกอบ Vue ทั่วไปที่สามารถขยายได้บทความนี้จะแนะนำวิธีการใช้งานส่วนประกอบ Vue UI Library อย่างยืดหยุ่น :deep() เพื่อเอาชนะข้อจำกัดของการปรับแต่ง และยกตัวอย่างการสร้างส่วนประกอบทั่วไปที่สามารถนำกลับมาใช้ใหม่ได้ พร้อมทั้งเสนอวิธีแก้ปัญหาต่างๆ
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들

November 21, 2024

การเพิ่มประสิทธิภาพการเรียกซ้ำแบบหาง (Tail Call Optimization)การเพิ่มประสิทธิภาพการเรียกซ้ำแบบหาง (TCO) เป็นเทคนิคที่ช่วยป้องกันการล้นสแต็กของฟังก์ชันเรียกซ้ำและเพิ่มประสิทธิภาพการใช้หน่วยความจำ ใน JavaScript นั้นรองรับในโหมด strict ของ ES6 และสามารถใช้เทคนิค trampoline ในการใช้งานได้
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들

October 12, 2024