คอมพิวเตอร์เก่งเรื่องคณิตศาสตร์มาก อยู่ในเลือดของพวกมันเลยทีเดียว ถึงแม้ว่าคอมพิวเตอร์จะขับเคลื่อนด้วย 0 และ 1 ที่เราเรียกว่า binary เมื่อคุณเขียนโค้ด น่าจะมีเวลาที่คุณต้องการดำเนินการทางคณิตศาสตร์บางอย่าง
ใน JavaScript คณิตศาสตร์มาน่ะทุกที่ คุณสามารถใช้คณิตศาสตร์คำนวณขนาดหน้าต่าง ตรวจสอบว่าผู้ใช้พออายุที่จะใช้ไซต์ของคุณหรือไม่ หรือบวกเลขสองตัวที่ผู้ใช้ให้มา
ในคู่มือนี้ เราจะพูดถึงวิธีดำเนินการทางคณิตศาสตร์ใน JavaScript โดยใช้ arithmetic operators หลักห้าตัว
Mathematical Operators: ทบทวนความรู้
JavaScript ประกอบด้วย operators หลายตัว บางตัวช่วยจัดการสตริง ส่วนบางตัวช่วยดำเนินการ JS math functions ในคู่มือนี้เราจะเน้นที่ arithmetic operators
Arithmetic operators คือสัญลักษณ์ที่ใช้ทำงานทางคณิตศาสตร์ JS operators เหล่านี้ค่อนข้างคล้ายกับที่เราเรียนในโรงเรียน สำหรับบทความนี้เราจะเน้นที่หก operators:
- การบวก (+)
- การลบ (-)
- การหาร (/)
- การคูณ (*)
- Modulo (%)
- ยกกำลัง (**)
มาเริ่มต้นและเจาะลึกแต่ละตัวกัน
ก่อนเริ่มต้น ควรทราบว่าเลขทั้งหมดใน JavaScript ถูกเก็บเป็น numbers ไม่มี data type แยกสำหรับ floating-point (ทศนิยม) หรือจำนวนเต็ม เราเรียกทั้งหมดว่า "numbers"
การบวกและลบ
สัญลักษณ์ JavaScript สำหรับบวกและลบ เหมือนกับที่เราใช้ในชีวิตประจำวันสำหรับคณิตศาสตร์ สะดวกดี! เราสามารถบวกเลขได้โดยระบุเลขที่ต้องการบวก คั่นด้วยเครื่องหมายบวก:
console.log(5 + 9);
โค้ดคืนค่า: 14 เราสามารถทำการลบได้โดยเปลี่ยนเครื่องหมายบวกเป็นลบ:
console.log(5 - 9);
โค้ดคืนค่า: -4
JavaScript math ทำงานกับทั้งเลขบวกและลบได้
ตอนทำงานกับ math sum คุณน่าจะไม่แค่พิมพ์ไปที่ console นั่นคือที่มาของ variables คุณสามารถกำหนดเลขในโจทย์คณิตศาสตร์ไว้ในตัวแปร:
var a = 10; var b = 20; var c = a + b; console.log(c);
โค้ดคืนค่า: 30 เรากำหนดค่า 10 ให้ a และ 20 ให้ b แล้วใช้ตัวแปร c บวกสองตัวเลขนี้เข้าด้วยกัน ง่ายมาก!
การคูณและหาร
มาระดับสูงขึ้นพูดถึงการคูณและหาร ต่างจากตัวอย่างก่อนหน้า เราต้องเรียน operators ใหม่สองตัว:
- ดอกจัน (*) แทนการคูณ
- เครื่องหมายทับ (/) แทนการหาร
สมมติเรามีร้านขายคุกกี้ ต้องการคำนวณแป้งที่ต้องใช้ แต่ละชุดต้องการแป้ง 2 กก. และเราอบ 5 ชุด เราสามารถคำนวณได้ด้วยโค้ดนี้:
var batches = 5; var flourQuantity = 2; var flourNeeded = batches * flourQuantity; console.log("You need ", flourNeeded, "kgs of flour.");
โค้ดคืนค่า: You need 10kgs of flour
คุณสามารถใช้เครื่องหมายทับเพื่อหารได้
สมมติแต่ละชุดมีคุกกี้ 40 ชิ้น ต้องการแบ่งเป็นแพ็ค แต่ละแพ็ค 5 ชิ้น ต้องการทราบว่าทำแพ็คได้กี่แพ็ค:
var batchQuantity = 40; var pack = 5; var packsMade = batchQuantity / pack; console.log("You can make ", packsMade, "packs of cookies.");
โค้ดคืนค่า: You can make 8 packs of cookies
Modulo
Modulo operator อาจไม่ค่อยใช้บ่อยเท่าตัวอื่นแต่ยังสำคัญใน JavaScript Modulo operator คำนวณเศษที่เหลือหลังจากการหาร
ใน JavaScript modulo operation แทนด้วยเครื่องหมายเปอร์เซ็นต์ ตัวอย่างก่อนหน้าแสดงการหารที่ลงตัว แต่นี่ไม่ใช่เสมอไป บางโจทย์คืนค่าเศษ
กลับไปที่ตัวอย่างคุกกี้ สมมติเราประมาณผิด แต่ละชุดให้แค่ 37 ชิ้น เพื่อหาว่าทำแพ็คได้กี่แพ็ค:
var batchQuantity = 37; var pack = 5; var packsMade = batchQuantity / pack; console.log("You can make ", packsMade, "packs of cookies.");
ปัญหาคือได้เลขทศนิยม! นี่คือที่มาของ modulo เราสามารถอัปเดตโค้ดคำนวณเศษเหลือ:
var batchQuantity = 37; var pack = 5; var packsMade = batchQuantity / pack; console.log("You can make ", Math.floor(packsMade), "packs of cookies."); var remainder = batchQuantity % pack; console.log("You'll have ", remainder, " cookies left over.");
โค้ดคืนค่า:
You can make 7 packs of cookies. You'll have 2 cookies left over.
เราแก้ไขโค้ดสองจุด แรก ปัดค่า packsMade ลงเป็นจำนวนเต็มด้วย Math.floor() ทำให้เห็นว่าทำแพ็คเต็มได้ 7 แพ็ค ต่อมา ใช้ modulo operator คำนวณคุกกี้เหลือ บอกว่าเหลือ 2 ชิ้น
ยกกำลัง (Power)
ยก x กำลัง y 聽起來ซับซ้อน โดยเฉพาะคำว่า exponentiation แต่ไม่ยากเลย
ใน JavaScript ดอกจันสองตัว (**) แทนการยกกำลัง:
console.log(7 ** 3);
โค้ดคืนค่า: 343
นี่คืออีกวิธีเขียน 7 * 7 * 7 แต่สั้นกว่าและอ่านง่ายกว่า
ลำดับการดำเนินการ (Order of Operations)
คณิตศาสตร์มีลำดับการดำเนินการเฉพาะ บอกว่าควรคำนวณอะไรก่อนอะไรหลังเมื่อเจอโจทย์คณิตศาสตร์
วิธีจำที่นิยมคือ BODMAS:
- Brackets (วงเล็บ)
- Order (ยกกำลัง)
- Division (การหาร)
- Multiplication (การคูณ)
- Addition (การบวก)
- Subtraction (การลบ)
บอกว่าให้คำนวณในวงเล็บก่อน แล้วค่อยยกกำลัง แล้วหาร คูณ บวก ลบ ตามลำดับ พิจารณาโจทย์นี้:
var problem = (5 * 3) + 2; console.log(problem);
คำตอบคือ: 17 JavaScript คำนวณ 5 * 3 ก่อนเพราะอยู่ในวงเล็บ แล้วค่อยบวก 2
สรุป
JavaScript มี arithmetic operators หลากหลายสำหรับดำเนินการทางคณิตศาสตร์ บางตัวเหมือนที่เราใช้ในคณิตศาสตร์ บางตัวมีสัญลักษณ์เฉพาะ
จำไว้ว่าเวลาคำนวณโจทย์คณิตศาสตร์ ต้องคำนึงถึง BODMAS ลำดับการดำเนินการที่โจทย์จะถูกอ่าน
ตอนนี้คุณพร้อมทำคณิตศาสตร์ใน JavaScript แบบมืออาชีพแล้ว!