== สารบัญ ==
ㄧ ออบเจ็กต์ Math
ㄧ ค่าคงที่
ㄧ ฟังก์ชันต่างๆที่ใช้ได้
ㄧ ปัดเศษ
ㄧ ค่าสัมบูรณ์
ㄧ เลขยกกำลัง
ㄧ ตรีโกณมิติ
ㄧ ค่าสูงสุดต่ำสุด
ㄧ การสร้างค่าสุ่ม
ออบเจ็กต์ Math介슈
การคำนวณพื้นฐานเช่น บวก, ลบ, คูณ, หาร นั้นสามารถทำได้โดยใช้ตัวดำเนินการ +, -,
*, / ง่ายๆ แต่สำหรับการคำนวณที่ซับซ้อนขึ้นไป เช่นพวกเลขยกกำลัง, ตรีโกณมิติ,
สุ่มค่า, ฯลฯ พวกนี้ต้องใช้ฟังก์ชันช่วย
ฟังก์ชันต่างๆที่เกี่ยวข้องกับทางคณิตศาสตร์นั้นได้ถูกรวบรวมเอาไว้ที่ออบเจ็กต์ที่ชื่อ
Math
Math เป็นออบเจ็กต์ตัวหนึ่ง มีหน้าที่แค่เก็บฟังก์ชันและค่าคงที่ต่างๆเท่านั้น
ไม่สามารถทำหน้าที่เป็นคอนสตรักเตอร์เพื่อสร้างออบเจ็กต์ใดๆได้
ค่าคงที่介슈
ค่าคงที่บางส่วนที่มีความหมายสำคัญทางคณิตศาสตร์ซึ่งอาจมีโอกาสได้ใช้งานบ่อยได้ถูกเตรียมไว้ในออบเจ็กต์
Math
ค่าคงที่ |
ค่า |
ความหมาย |
Math.E |
2.718281828459045 |
ค่า e |
Math.LN2 |
0.6931471805599453 |
ln(2) |
Math.LN10 |
2.302585092994046 |
ln(10) |
Math.LOG2E |
1.4426950408889634 |
1/ln(2) |
Math.LOG10E |
0.4342944819032518 |
1/ln(10) |
Math.SQRT1_2 |
0.7071067811865476 |
รากที่สองของ 1/2 |
Math.SQRT2 |
1.4142135623730951 |
รากที่สองของ 2 |
Math.PI |
3.141592653589793 |
สัดส่วนเส้นรอบวงต่อเส้นผ่านศูนย์กลาง |
ฟังก์ชันต่างๆที่ใช้ได้介슈
ฟังก์ชันที่มีตั้งแต่ใน ES3
Math.sin (x) |
sine |
Math.cos (x) |
cosine |
Math.tan (x) |
tangent |
Math.asin (x) |
arcsine |
Math.acos (x) |
arccos |
Math.atan (x) |
arctan |
Math.atan2 (y, x) |
arctan2 |
Math.abs (x) |
หาค่าสัมบูรณ์ |
Math.round (x) |
ปัดเศษ .5 ขึ้นไปขึ้น ต่ำกว่า .5 ลง |
Math.ceil (x) |
ปัดเป็นจำนวนเต็มโดยปัดขึ้น |
Math.floor (x) |
ปัดเป็นจำนวนเต็มโดยปัดลง |
Math.exp (x) |
เอ็กซ์โพเน็นเชียล (ex) |
Math.log (x) |
ลอการิธึม logex |
Math.sqrt (x) |
รากที่สอง |
Math.pow (x, y) |
x ยกกำลัง y (xy) |
Math.max (x1, x2, ...) |
หาค่าสูงสุด |
Math.min (x1, x2, ...) |
หาค่าต่ำสุด |
Math.random () |
สร้างค่าสุ่มตั้งแต่ 0 ถึง 1 |
ฟังก์ชันที่เพิ่มเข้ามาใน ES6
Math.sinh (x) |
hyperbolic sine |
Math.cosh (x) |
hyperbolic cosine |
Math.tanh (x) |
hyperbolic tangent |
Math.asinh (x) |
inverse hyperbolic sine |
Math.acosh (x) |
inverse hyperbolic cosine |
Math.atanh (x) |
inverse hyperbolic tangent |
Math.log10 (x) |
log10(x) |
Math.log2 (x) |
log2(x) |
Math.log1p (x) |
loge(1+x) |
Math.expm1 (x) |
ex-1 |
Math.cbrt (x) |
รากที่สาม |
Math.hypot (x1, x2, ...) |
รากที่สองของผลบวกกำลังสอง |
Math.trunc (x) |
ปัดเป็นจำนวนตรงโดยปัดเศษทิ้ง |
Math.sign (x) |
หาว่าเป็นบวกหรือลบ ถ้าเป็นบวกได้ 1 ถ้าเป็นลบได้ -1 |
ปัดเศษ介슈
เมื่อมีจำนวนทศนิยมแล้วต้องการปัดให้เป็นจำนวนเต็ม อาจใช้
- Math.ceil เมื่อต้องการปัดขึ้นเสมอ
- Math.floor เมื่อต้องการปัดลงเสมอ
- Math.round เมื่อต้องการให้ปัดขึ้นเมื่อเป็น 0.5 ขึ้นไป และปัดลงเมื่อไม่ถึง
0.5
ส่วน Math.trunc ที่เพิ่มมาใน ES6 นั้นจะเหมือน floor ในกรณีที่เป็นเลขบวก
และเหมือน ceil เมื่อเป็นเลขลบ
ค่าสัมบูรณ์介슈
Math.abs ใช้หาค่าสัมบูรณ์ของตัวเลข
เลขยกกำลัง介슈
ฟังก์ชันที่เกี่ยวข้องกับเลขยกกำลังได้แก่
- Math.exp ใช้คำนวณเอ็กซ์โพเนนเชียล
- Math.log ใช้คำนวณลอการิธึมฐานธรรมชาติ
- Math.sqrt ใช้คำนวณค่ารากที่สอง
- Math.pow ใช้คำนวณเลขยกกำลัง
ใน ES2016 ขึ้นไปสามารถใช้ x**y แทน Math.pow(x,y) ได้
ตรีโกณมิติ介슈
ฟังก์ชันตรีโกณมิติพื้นฐานประกอบไปด้วย
- Math.sin
- Math.cos
- Math.tan
และฟังก์ชันส่วนกลับ ประกอบไปด้วย
- Math.asin
- Math.acos
- Math.atan
- Math.atan2
และใน ES6 ยังมีพวกไฮเพอร์โบลิกเพิ่มเข้ามาอีกด้วย
ค่าสูงสุดต่ำสุด介슈
Math.min
เป็นฟังก์ชันที่ใช้หาค่าต่ำสุดในบรรดาข้อมูลทั้งหมดที่ใส่เข้าไปเป็นอาร์กิวเมนต์
ส่วนฟังก์ชันที่ใช้หาค่าสูงสุดคือ Math.max
หากข้อมูลที่ใส่เข้าไปมีที่ไม่ใช่ตัวเลขก็จะถูกแปลงเป็นตัวเลขโดยอัตโนมัติก่อนเทียบ
แต่ถ้าตัวใดตัวหนึ่งแปลงไม่ได้จะได้ NaN
การสร้างค่าสุ่ม介슈
หากต้องการค่าสุ่มตั้งแต่ 0 ถึง 1 สามารถใช้ Math.random
ได้
จะได้ค่าสุ่มที่ไม่ซ้ำกันในแต่ละครั้ง
หากต้องการเลขสุ่มเป็นจำนวนเต็มในช่วงที่กำหนด อาจใช้ร่วมกับ Math.floor เช่น