Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

[Proposal] ทำความรู้จักกับ Tuple และ Record ของ ECMAScript

$
0
0

จาก 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 !!

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

[gist id="ebef26864e295d829dab6f69a2d7dee9" file="demo.js"]

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

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

[gist id="ebef26864e295d829dab6f69a2d7dee9" file="demo2.js"]

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

[gist id="ebef26864e295d829dab6f69a2d7dee9" file="demo3.js"]

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


Viewing all articles
Browse latest Browse all 1997

Trending Articles