การใช้งาน keyof type operator ใน TypeScript

14 Aug 2023,
Share: 
Cover image

สวัสดีครับ ในบทความนี้เราจะมาทําความรู้จักกับ keyof type operator ใน TypeScript กันครับ

keyof type operator คือการดึงเอา key ของ Object ออกมาเป็น literal type

เพื่อความเข้าใจมากขึ้นเรามาดูตัวอย่างกันครับ

type MyType = { a: boolean; b: string; 100: string };
type M = keyof MyType;

const v1: M = 'a'; // No Error
const v2: M = 'b'; // No Error
const v3: M = 100; // No Error
const v4: M = 1; // Error
const v5: M = 'aaa'; // Error
const v6: M = true; // Error

จากตัวอย่างด้านบน เราสร้าง type M จาก keyof MyType ดังนั้น Type M จะเป็น literal type ของ key ที่ อยู่ใน MyType ทําให้เมื่อเรานํา M ไปกำหนดให้กับตัวแปรใด ตัวแปรนั้นๆจะเก็บค่าเฉพาะ literal type ของ key ที่ อยู่ใน MyType เท่านั้น

เพื่อให้เห็นภาพมากขึ้นเรามาดูตัวอย่างการนำไปใช้งานดังนี้ครับ

function getProperty<T>(obj: T, key: keyof T) {
  return obj[key];
}

let x = { a: 1, b: 2, c: 3, d: 4 };

getProperty(x, 'a');
getProperty(x, 'm'); // Error เพราะ property "m" ไม่มีใน x

Suggestion blogs

วิธีสร้าง 18650 battery pack 12V

สวัสดีครับบนความนี้เราจะมาสร้าง 18650 battery pack 12V กันครับ สําหรับ 18650 battery pack 12V ก็คือ Battery ชนิดหนึ่งที่ทํามาจาก 18650 Battery แบบนี้ มาต่อรวมๆกันหลายๆก้อน เป็น Battery ลูกใหญ่

ระวังโดน Hack facebook โดยไม่รู้ตัว

สวัสดีครับ วันนี้ผมจะนําเสนอเรื่องราวของการ hack facebook รูปแบบหนึ่ง ซึ่งถ้าไม่ทันระวังก็อาจจะตกเป็นเหยื่อได้ รูปแบบการ hack แบบนี้เค้าเรียกกันว่า Phishing โดย hacker จะทําการปลอมหน้าเพจขึ้นมา ส่วนใหญ่จะปลอมเป็นหน้าเพจ login ของเว็บที่ hacker ต้องการ user password เช่น ถ้า hacker ต้องการ user และ password ของ facebook hacker ก็จะทําหน้า login ของ facebook ปลอมขึ้นมา เพื่อหลอกให้เหยื่อ login จากหน้าปลอมนั้น แล้วส่งข้อมูล user password ของ เหยื่อมายัง hacker

ต้นลิ้นมังกร Snake plant ช่วยฟอกอากาศ

ลิ้นมังกรมีคุณสมบัติ ช่วยฟอกอากาศบริเวณรอบ ๆ โดยจะคายก๊าซ Oxygen ในเวลากลางคืน สามารถปลูกภายในห้องนอนได้ จะช่วยฟอกอากาศภายในห้องนอน ให้มีคุณภาพมากขึ้น ช่วยดูดซับสารพิษ ไอระเหยประเภทฟอร์มาลดีไฮด์ โทลูอีน เบนซิน คลอโรฟอร์ม ก๊าซคาร์บอนมอนอกไซด์ และสารพิษอื่น ๆ ที่มาจากสีทาบ้าน เฟอร์นิเจอร์ เครื่องถ่ายเอกสาร


Copyright © 2019 - 2025 thiti.dev |  v1.58.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ