สวัสดีครับ ในบทความนี้เราจะมาทําความรู้จักกับ 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
ใน Raspberry pi จะไม่มี Real Time Clock มาให้ เมื่อเราปิดเครื่อง หรือไม่มีไฟฟ้าจ่ายให้กับ Raspberry pi วันที่และเวลาของเครื่องจะไม่เป็นปัจจุบัน วิธีที่จะทําให้เวลาของเครื่องเป็นวันที่ปัจจุบันมีด้วยกัน 2 วิธี ดังนี้ใช้ NTP server (จะต้องเชื่อมต่อกับเครือขาย internet)ใช้ Real time clock (ไม่ต้องเชื่อมต่อกับเครือขาย internet)ในบทความนี้เราจะอธิบายวิธีใช้ Real time clock เป็นฐานเวลาให้กับ Raspberry pi ก่อนอื่นมารู้จักกันก่อนว่ามันคืออะไร Real time clock เป็น module ฐานเวลา เนื่องจากตัว module ใช้พลังงานจากถ่านกระดุมขนาดเล็กทําให้ตัว module ทํางานอยู่ตลอดเวลาแม้ไม่ได้จ่ายไฟเลี้ยง
สวัสดีครับบนความนี้เราจะมาสร้าง 18650 battery pack 12V กันครับ สําหรับ 18650 battery pack 12V ก็คือ Battery ชนิดหนึ่งที่ทํามาจาก 18650 Battery แบบนี้ มาต่อรวมๆกันหลายๆก้อน เป็น Battery ลูกใหญ่
โดยทั่วไปถ้าเราต้องการจะดูว่ามีไฟล์อะไรอยู่ใน path ปัจจุบันบ้างเราก็จะใช้คําสั่ง ls