14 คะแนน โดย hongminhee 2025-01-24 | 6 ความคิดเห็น | แชร์ทาง WhatsApp
  1. ภาพรวม
  • การนำออบเจ็กต์ JavaScript Temporal ไปใช้งานเริ่มเปิดตัวในเบราว์เซอร์เวอร์ชันทดลองแล้ว
  • การจัดการวันที่และเวลาสำหรับนักพัฒนาเว็บจะง่ายขึ้นและทันสมัยขึ้นอย่างมาก
  • แอปพลิเคชันที่เกี่ยวข้องกับการจัดตารางเวลา การทำให้รองรับหลายภาษา และการจัดการข้อมูลด้านเวลา จะสามารถใช้ความสามารถแบบบิลต์อินที่มีประสิทธิภาพและแม่นยำได้
  1. ปัญหาของออบเจ็กต์ JavaScript Date
  • ถูกสร้างขึ้นโดยคัดลอกการใช้งานเริ่มต้นของ java.util.Date ใน Java เมื่อปี 1995
  • รองรับเฉพาะเวลาท้องถิ่นของผู้ใช้และ UTC และไม่มีการรองรับเขตเวลา
  • พฤติกรรมการแปลงข้อความเป็นวันที่ไม่เสถียรมากและเป็นแบบเปลี่ยนค่าได้ (mutable)
  • การคำนวณเวลาออมแสง (DST) และการเปลี่ยนแปลงปฏิทินในอดีตทำได้ยาก
  1. ความสามารถหลักของ Temporal
  • ออกแบบมาให้เป็นตัวแทนที่สมบูรณ์ของออบเจ็กต์ Date
  • รองรับการแสดงเขตเวลาและปฏิทิน
  • มีเมธอดยูทิลิตีมากกว่า 200 รายการ
  • ครอบคลุมความสามารถหลากหลาย เช่น การแปลง การเปรียบเทียบ การคำนวณ และการจัดรูปแบบ
  1. สถานะการรองรับในเบราว์เซอร์
  • ปัจจุบัน Firefox มีการนำไปใช้งานที่สมบูรณ์ที่สุด
  • ให้ใช้งานเป็นฟีเจอร์ทดลองใน Firefox Nightly
  • Safari และ Chrome ก็กำลังอยู่ระหว่างการพัฒนาเช่นกัน
  • สามารถทดลองได้ผ่าน @js-temporal/polyfill บนหน้าเอกสารของ TC39
  1. องค์ประกอบสำคัญ
  • Duration: ความแตกต่างระหว่างสองช่วงเวลา
  • Instant: ไทม์สแตมป์
  • ZonedDateTime: วันที่/เวลาที่มีเขตเวลา
  • PlainDateTime: วันที่/เวลาที่ไม่มีเขตเวลา
  • ยังมีคลาสอื่น ๆ ที่เกี่ยวข้องกับวันที่/เวลาอีกหลายรายการ

API ใหม่นี้คาดว่าจะมอบแนวทางสมัยใหม่ในการจัดการวันที่และเวลาใน JavaScript

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

 
wkang586 2025-01-28

ข้อความตอบแชตจากคนที่แอบชอบซึ่งมาช้าเกินไปมาก

 
clickin 2025-01-27

ตอนแรกทั้งการทำ Date ก็หยิบมาจาก Java และการทำ Temporal ก็หยิบมาจาก Java เยอะเหมือนกัน แบบนี้ก็อดคิดไม่ได้ว่ามันจำเป็นต้องใช้เวลานานขนาดนี้เลยหรือ Java 8 ที่มี LocalDateTime ออกมาตั้งแต่ปี 2014 แล้ว ดังนั้นถ้าทำ Temporal บนพื้นฐานนี้ได้เร็วกว่านี้ ก็ดูเหมือนว่าจะไม่จำเป็นต้องปล่อยให้แตกกระจายเป็นไลบรารีของ third party หลากหลายตัว

 
dicebattle 2025-01-26

เอ่อ เหมือนเคยได้ยินมาจากที่ไหนบ่อย ๆ เลย...

 
iolothebard 2025-01-25

นอกจากเปลี่ยน LocalDateTime เป็น PlainDateTime แล้ว ก็แทบจะเหมือน Java เป๊ะเลย…
มีก็ดีอยู่หรอก… แต่ถึงขนาดต้องทำกันขนาดนี้ไหมเนี่ย…

 
devsepnine 2025-01-26

เดิมทีหากต้องจัดการเวลาให้รองรับหลายไทม์โซน ก็ต้องใช้ไลบรารีหรือไม่ก็ต้องคำนึงถึงเงื่อนไขหลายอย่างแล้วลงมือทำเอง ดังนั้นถ้าไปในทิศทางที่มีการรองรับมาให้เป็นพื้นฐานเลยก็น่าจะดี