Instantiating Built-type ใน JavaScript
ในการเขียน javascript บางครั้งผมก็สงสัยเหมือนกัน โดยเฉพาะพวก library ยอดนิยมอย่าง Jquery ที่ทำไม () เยอะจัง แถมยังจะมี function ซ้อนอยู่ด้านในอีก แล้ววันนี้ผมก็ได้อ่านหนังสือเกี่ยวกับการเขียน javascript แบบ oop หรือ Object oriented programming ก็เลยรู้ว่ามันมีประเภทการเก็บข้อมูลหรือประเภทตัวแปรที่ชื่อว่า Instantiating Built-type ซึ่งมีอยู่ 6 ชนิดคือ
- Array คือ array เหมือนภาษาอื่นๆ ที่เก็บค่าหลายๆค่าในรูปแบบที่มีตัวเลขเป็น index ในการอ้างค่าข้อมูล
- Date เป็นตัวแปรที่เก็บข้อมูลวันที่และเวลา
- Error เป็นการเก็บข้อมูล error, runtime error
- Function คือ function ในการทำงานหรือ เหมือน function ในภาษาอื่นนั้นแหละครับแต่ความสามารถใน javascript คือการเอามันเก็บไว้ในตัวแปรได้ หรือจะยัดใส่ใน object ก็ได้ถ้าผมเข้าใจไม่ผิดนะครับ
- Object คือข้อมูลชนิดที่เป็น Object ที่คล้ายๆกับภาษาอื่นที่เป็น OOP คือทุกวัตถุที่นิยามขึ้นจะมาจาก Object
- RegExp เป็นชนิดที่เก็บ regular expression
ส่วนรูปแบบการประกาศก็เป็นไปตามตัวอย่างโค้ดด้านล่างนี้ครับ
[sourcecode language=”javascript”]
var arr = new Array();
var now = new Date();
var error = new Error(“Someting wrong”);
var func = new Function(“console.log(‘Thaicoding’);”);
var object = new Object();
var re = new RegExp(“\\d+”);
[/sourcecode]
หลังจากดูโค้ดแล้วบางคนอาจจะคุ้นสายตากันบ้างแต่บ้างคนก็ดูมันแปลกๆ นั้นก็เพราะว่า javascript มีรูปแบบการประกาศการใช้งานที่มีหลาย syntax นั้นเองครับ
ตัวอย่างการใช้งาน Array
[sourcecode language=”javascript”]
var arr = new Array(“red”,”blue”, “green”);
var colors = [“red”,”blue”, “green”]
console.log(“arr 0 :” + arr[0]);
console.log(“colors 0 :” + colors[0]);
[/sourcecode]
ตัวอย่างการใช้งาน Object
[sourcecode language=”javascript”]
var obj = {
name : “titlename”,
year : 2014
};
var objA = new Object();
objA.name = “TitleA”;
objA.year = 2015;
[/sourcecode]
ตัวอย่างการใช้งาน Function
[sourcecode language=”javascript”]
var sum = function add(a,b){
return a+b;
}
console.log(sum(5,6));
[/sourcecode]
จากตัวอย่างด้านบนคงเห็นแล้วว่า javascript นั้นมีรูปแบบที่ยืดหยุ่น การใช้รูปแบบ type ต่างๆ เลยมีรูปแบบการ pass function หรือ object ต่างๆ อาจเป็นผลให้ javascript ได้รับความนิยมมากขึ้นในช่วงหลังนี้ครับ และไม่แปลกที่จะให้รูปแบบของ function อยู่ใน () มากมายเหลือเกิน