สาระสำคัญของโปรแกรมคอมพิวเตอร์สามารถกล่าวได้ว่าเป็นส่วนใหญ่การดำเนินการและการอ่านและการเขียนข้อมูลต่าง ๆ (ค่า) โดยเครื่อง ในจาวาสคริปต์มีค่าหลายประเภทซึ่งแบ่งออกเป็นสองประเภท: ดั้งเดิม (ประเภทดั้งเดิม) และวัตถุ (วัตถุ)
ดึกดำบรรพ์
JavaScript มี 5 ประเภทใน JavaScript:
1. จำนวน ตัวเลขทั้งหมดไม่ว่าจะเป็นจำนวนเต็มหรือทศนิยมเป็นหมายเลขประเภท
2.STRING ประเภทสตริง
3.Boolean ประเภทบูลีนจริงหรือเท็จ
4.Null. ประเภทนี้มีค่า NULL เพียงค่าเดียว
5. ไม่ได้กำหนด ประเภทนี้มีค่าเดียวที่ไม่ได้กำหนด
วัตถุ
ยกเว้น Primitive ค่าอื่น ๆ ใน JavaScript เป็นวัตถุ (วัตถุ) มีวัตถุหลายประเภท:
1. Json Key-Value Pair Object เช่น {"ชื่อ": "บ๊อบ", "อายุ": 42}
2. อาร์เรย์ เช่น [1,4,5,7,9]
3. ฟังก์ชั่น เช่นฟังก์ชัน () {return true;} มีฟังก์ชั่นสองรูปแบบใน JavaScript: 1. บล็อกรหัสปฏิบัติการ; 2. ตัวสร้างคลาส ไม่ว่าจะมีรูปแบบใดฟังก์ชั่นเป็นวัตถุเสมอ
JS มาพร้อมกับวัตถุระดับโลก
เพื่ออำนวยความสะดวกในการเขียนโปรแกรม JavaScript มาพร้อมกับวัตถุระดับโลกซึ่งมีตัวแปรสมาชิก 7 ตัวต่อไปนี้ซึ่งทั้งหมดเป็นวัตถุ:
1.Math. ชุดของการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนสามารถทำได้โดยเรียกวิธีการของวัตถุคณิตศาสตร์
2. หมายเลข ค่าพิเศษบางอย่างสามารถรับได้โดยการเข้าถึงตัวแปรสมาชิกของวัตถุตัวเลข
3.Array ตัวสร้างของวัตถุอาร์เรย์
4. ฟังก์ชั่น ตัวสร้างของวัตถุฟังก์ชัน
5.DATE ตัวสร้างของวัตถุวันที่
6. Regexp ตัวสร้างของวัตถุนิพจน์ทั่วไป
7. ข้อผิดพลาด ตัวสร้างของวัตถุข้อผิดพลาด
เมื่อเขียนโปรแกรมเนื่องจากคุณสามารถเข้าถึงตัวแปร 7 ตัวข้างต้นได้โดยตรงคุณยังสามารถใช้เป็นวัตถุระดับโลกได้
ไม่เปลี่ยนรูป
ดั้งเดิมและวัตถุมีความแตกต่างที่ชัดเจน: ดั้งเดิมทั้งหมดไม่เปลี่ยนรูปและวัตถุทั้งหมดไม่แน่นอน การใช้ประเภทสตริงเป็นตัวอย่างหลังจากเรียกใช้เมธอดสตริงเพื่อแก้ไข JavaScript จะบันทึกผลลัพธ์ที่แก้ไขในวัตถุสตริงใหม่และวัตถุสตริงต้นฉบับจะไม่เปลี่ยนแปลงอะไรเลย:
การคัดลอกรหัสมีดังนี้:
var s = "ทดสอบ";
s.touppercase (); // ส่งคืนวัตถุสตริงใหม่ "ทดสอบ"
console.log (s); // "ทดสอบ" - สตริงต้นฉบับ S ไม่เปลี่ยนแปลง
การทดลอง
ใน JavaScript คุณสามารถรับประเภทของค่าที่แน่นอนโดยใช้คำหลัก typeof
รับประเภทของหมายเลข:
การคัดลอกรหัสมีดังนี้:
var n = 42;
console.log (typeof n);
ผลลัพธ์ผลลัพธ์ของโปรแกรมคือหมายเลข
รับประเภทของสตริง:
การคัดลอกรหัสมีดังนี้:
var s = "ทดสอบ";
console.log (typeof s);
ผลลัพธ์ผลลัพธ์ของโปรแกรมคือสตริง
รับประเภทของค่าบูลีน:
การคัดลอกรหัสมีดังนี้:
var b = true;
console.log (typeof b);
ผลลัพธ์ผลลัพธ์ของโปรแกรมคือบูลีน
รับประเภทของ null:
การคัดลอกรหัสมีดังนี้:
var x = null;
console.log (typeof x);
โปรแกรมควรส่งออกเป็นโมฆะ แต่จริงๆแล้วมันส่งออกวัตถุ เหตุผลก็คือเมื่อใช้การดำเนินการ typeof บนค่า null โปรแกรมจะส่งคืนวัตถุ: นี่คือข้อผิดพลาดที่มีอยู่ตั้งแต่ JavaScript เวอร์ชันแรก ในระหว่างการกำหนดมาตรฐาน ecmascript มีการถกเถียงกันอย่างน่าสนใจว่าจะแก้ไขข้อผิดพลาดนี้หรือไม่: http://wiki.ecmascript.org/doku.php?id=harmony:typeof_null; ข้อสรุปสุดท้ายคือการแก้ไขข้อผิดพลาดนี้จะทำให้เกิดปัญหากับเว็บไซต์จำนวนมากเกินไปดังนั้นจึงไม่ได้รับการแก้ไขในขณะนี้
รับประเภทที่ไม่ได้กำหนด:
การคัดลอกรหัสมีดังนี้:
var y = ไม่ได้กำหนด;
console.log (typeof y);
ผลลัพธ์ผลลัพธ์ของโปรแกรมไม่ได้กำหนด
รับประเภทของวัตถุ JSON:
การคัดลอกรหัสมีดังนี้:
var j = {"ชื่อ": "บ๊อบ", "อายุ": 42};
console.log (typeof j);
ผลลัพธ์ผลลัพธ์ของโปรแกรมคือวัตถุ
รับประเภทของอาร์เรย์วัตถุ:
การคัดลอกรหัสมีดังนี้:
var a = [2,3,5,7,11];
console.log (typeof a);
ผลลัพธ์ผลลัพธ์ของโปรแกรมคือวัตถุ
รับประเภทของฟังก์ชันวัตถุ:
การคัดลอกรหัสมีดังนี้:
var f = function () {return true;};
console.log (typeof f);
วัตถุฟังก์ชั่นค่อนข้างพิเศษและตัวดำเนินการ typeof ส่งคืนผลลัพธ์เป็นฟังก์ชั่น