JavaScript: Augmenting Types

นี่เป็นบันทึกความรู้ด้านภาษา JavaScript ของเรา

ลักษณะของ JavaScript ที่เรา จะบันทึกไว้ต่อไปนี้เรียกว่า Augmenting Types

ประโยชน์ของ Augmenting Types คือทำให้เรา สามารถเขียนเพิ่มเติม function เข้าไปให้กับ types ของ JavaScript เช่น function, string, number, array, regular expression และ boolean ได้

เมื่อเราเขียน function เพื่อทำงานตามที่ต้องการ และกำหนดให้มันเป็น property ของ types ใดๆแล้ว เราจะเรียกมันว่า method

Function.prototype.method = function(name, func){

if(!this.prototype[name]){

this.prototype[name] = func;

return this;

}

};

code ที่เราเห็นข้างบนนั้น เพื่อทำให้เราใช้ลักษณะของ Augmenting Types เข้าไปในทุกๆ type ที่เราสร้างขึ้นมาได้ง่ายขึ้นเท่านั้น ดูตัวอย่างกรณีใช้ ดังต่อไปนี้

ตัวอย่าง เราต้องการเพิ่ม method trim ให้กับ type string ที่จะตัดตัวว่างหัวกับท้าย ออกจาก string

String.method(‘trim’, function () {

return this.replace(‘^[ \t]+|[ \t]+$’, ”);

});

เมื่อใช้งาน

alert(”         hello         “.trim());// แสดง “hello”

ตัวอย่าง ต้องการ method integer ที่แปลงเลขที่มีจุดทศนิยม ให้เป็นเลขจำนวนเต็ม

Number.method(‘integer’, function () {

return Math[this < 0 ? ‘ceil’ : ‘floor’](this);

});

เมื่อใช้งาน

alert( (-10/3).integer() );//แสดง -3

ขอบคุณความรู้จาก

JavaScript: The Good Parts

บันทึกโดย

— #:P —

Advertisements