ค้นหาเว็บไซต์

arrays - เป็นไปได้หรือไม่ที่จะสร้างประเภทตัวห่อหมายเลขน้ำหนักเบาใน TypeScript คล้ายกับ struct Color ใน C#


ก่อนอื่น ผมต้องขอโทษที่ไม่สามารถสื่อสารตัวเองได้อย่างกระชับ/ชัดเจน - น่าเสียดายที่ผมไม่รู้แนวคิดที่แน่นอนซึ่งใช้ได้กับปัญหาของผม ตอนนี้ มาดูกรณีนี้กัน...

ใน C#/.NET มี struct ชื่อว่า Color Struct นี้โดยพื้นฐานแล้วมีฟิลด์ int32 หนึ่งฟิลด์ที่แทนสีและให้วิธีที่สะดวกสำหรับการทำงานกับมัน ขอบคุณวิธีการทำงานของ struct ใน .NET การทำงานกับอาร์เรย์ของ Color จะมีประสิทธิภาพเทียบเท่ากับ (ในแง่ของเวลาและหน่วยความจำ) การทำงานกับอาร์เรย์ของ int32 ในขณะเดียวกันยังให้ความปลอดภัยในด้านประเภทข้อมูล เนื่องจากตัวอย่างเช่น คอมไพเลอร์จะไม่อนุญาตให้กำหนดค่า int32 ใดๆ ลงในตำแหน่งที่ต้องการสี

ใน TypeScript ผมสามารถบรรลุความปลอดภัยของประเภทข้อมูลได้โดยการห่อจำนวนไว้ภายในวัตถุ แต่สิ่งนี้จะสร้างภาระในเวลารันไทม์เนื่องจากการใช้วัตถุแทนตัวเลข

สิ่งที่ฉันกำลังมองหาคือวิธีที่จะบอกตัวคอมไพเลอร์ของ TypeScript ว่า "ประเภทนี้ภายในเป็นตัวเลข แต่สำหรับคุณแล้วมันเป็นประเภทที่แยกออกไปโดยสิ้นเชิง (เว้นแต่ฉันจะทำการแคสต์อย่างชัดเจนแน่นอน)" มีวิธีไหนที่จะทำแบบนั้นใน TypeScript ไหม?