จาก Proposal ของ ECMAScript นั้นมีสิ่งที่น่าสนใจคือ Tuple และ Record
อยู่ใน Stage 1 ซึ่งอาจจะเปลี่ยนแปลงอีกมากนัก
โดยทั้งสองตัวนี้เป็น immutable data structure ใหม่ที่เพิ่มเข้ามา
มีแนวคิดมาจาก Immutable.js นั่นเอง แต่ละตัวเป็นดังนี้

  • Record มีโครงสร้างเหมือนกับ Object ซึ่งประกาศดังนี้  #{ x:1, y:2 }
  • Tuple มีโครงสร้างเหมือนกับ Array ซึ่งประกาศดังนี้ #[1, 2, 3, 4]

สิ่งที่น่าสนใจมีดังนี้

เริ่มที่การเปรียบเทียบทั้ง Tuple และ Record จะเปรียบเทียบค่า ไม่เหมือน object !!

ยกตัวอย่างเช่น

โดยที่ค่าใน Tuple และ Record จะต้องเป็น primitive data type เท่านั้น

นั่นรวม Tuple และ Record ด้วยนั่นเอง
ลองกำหนดเป็น object เช่น Array จะ error ดังนี้

สามารถ convert จาก Object มาเป็น Tuple และ Record ได้เลย

ไว้รอดูต่อไปว่าจะเป็นอย่างไรต่อไป
มาเขียน code กัน