ความแตกต่างระหว่าง typeof กับ instanceof ใน JavaScript

อันที่จริงแล้ว typeof กับ instanceof ใน JavaScript นั้นมีจุดมุ่งหมายของฟังก์ชั่นคล้ายๆกันคือใช้ในการเชคค่าต่างๆของตัวแปร ซึ่งบางครั้งเราก็ยังเลือกไม่ถูกว่าจะเลือกใช้ตัวไหนดี โดยส่วนใหญ่แล้วเราจะใช้ typeof ในการเชคค่าดั้งเดิมของมัน(primitive type) มากกว่า ส่วน instanceof นั้นจะใช้ในการเชคโครงสร้างของตัวแปรที่เป็น object ว่าเป็นของ object นั้นใช่หรือไม่ เรามาลองดูตัวอย่างกันครับ การใช้งาน instanceof และ typeof เช่น:

เปรียบเทียบการเชคค่า object
var ClassFirst = function () {};
var ClassSecond = function () {};
var example = new ClassFirst();

typeof example; // object
typeof example == 'ClassFirst'; //false

instance instanceof Object; //true
instance instanceof ClassFirst; //true
instance instanceof ClassSecond; //false 

เปรียบเทียบการเชคค่า primitive type
'example string' instanceof String; // false
typeof 'example string' == 'string'; //true

'example string' instanceof Object; //false
typeof 'example string' == 'object'; //false

true instanceof Boolean; // false
typeof true == 'boolean'; //true

99.99 instanceof Number; // false
typeof 99.99 == 'number'; //true

function() {} instanceof Function; //true
typeof function() {} == 'function'; //true

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment