Operators
#HelloFrontend #HelloErmine #HelloWorld2021
Operator คืออะไร ?
คือ ตัวดำเนินการที่จะใช้ร่วมกับตัวถูกดำเนินการ (operand) ตั้งแต่ 1 ตัวขึ้นไป แล้วให้ผลลัพธ์ออกมา
Arithmetic operators
ใช้งานเหมือนกับการดำนินการทางคณิตศาสตร์ ยกเว้น + ที่สามารถใช้ในการต่อ string เข้าหากันได้
let x = 5;
let y = 10;
let hello = "Hello, ";
console.log(x + y); // 15
console.log(y - x); // 5
console.log(x * y); // 50
console.log(y / x); // 2
console.log(hello + "World"); // Hello, WorldRelational operators
คือ ตัวดำเนินการที่จะให้ผลลัพธ์เป็นค่า boolean โดยขึ้นอยู่กับผลการเปรียบเทียบระหว่างสองค่า
console.log(5 < 10); // true
console.log(10 <= 10); // true
console.log(5 > 10); // false
console.log(5 >= 10); // falseEquality operators
คือ ตัวดำเนินการที่จะให้ผลลัพธ์เป็นค่า boolean โดยขึ้นอยู่กับความเท่ากันระหว่างสองค่า
1. เปรียบเทียบแบบแปลง type ให้ด้วย
== ใช้ตรวจสอบว่าทั้งสองค่าเท่ากัน โดยจะพยายามแปลงค่าให้มี type เหมือนกันก่อนการเปรียบเทียบ
!= ใช้ตรวจสอบว่าทั้งสองค่าไม่เท่ากัน โดยจะพยายามแปลงค่าให้มี type เหมือนกันก่อนการเปรียบเทียบ (เป็นนิเสธของ ==)
2. เปรียบเทียบแบบไม่แปลง type ให้ด้วย
=== ใช้ตรวจสอบว่าทั้งสองค่ามี type และค่าเหมือนกัน
!== ใช้ตรวจสอบว่าทั้งสองค่ามี type หรือค่าต่างกัน (เป็นนิเสธของ ===)
ควรใช้ === และ !== เพื่อจะได้มั่นใจว่าค่าที่ถูกนำมาเปรียบเทียบเป็น type ที่เราต้องการจริง ๆ
Logical operators
คือ ตัวดำเนินการที่ผลลัพธ์จะขึ้นอยู่กับค่าความจริงของตัวที่ถูกดำเนินการทั้งสองตัว
!หมายถึง NOT (นิเสธ)&&หมายถึง AND (และ)||หมายถึง OR (หรือ)
1. เมื่อใช้กับค่า boolean
ทั้งสามตัวจะให้ผลลัพธ์เป็นค่า boolean
2. เมื่อใช้กับค่าที่ไม่ใช่ boolean
!จะให้ผลลัพธ์เป็นค่า boolean&&และ||จะให้ผลลัพธ์เป็นค่าใดค่าหนึ่งของตัวที่ถูกดำเนินการทั้งสองตัว
a && b จะให้ผลลัพธ์ได้ 2 แบบ
ถ้า
aเป็นจริง จะได้ผลลัพธ์เป็นbถ้า
aเป็นเท็จ จะได้ผลลัพธ์เป็นa
a || b จะให้ผลลัพธ์ได้ 2 แบบ
ถ้า
aเป็นจริง จะได้ผลลัพธ์เป็นaถ้า
aเป็นเท็จ จะได้ผลลัพธ์เป็นb
Assignment operators
เป็นการกำหนดค่าลงไปในตัวแปรโดยจะนำค่าจากฝั่งขวาเข้ามาใส่ในตัวแปรฝั่งซ้าย
จากตัวอย่างเรากำหนดค่า x ไว้เท่ากับ 10 แล้วใช้ assignment operator เพื่อกำหนดให้ตัวแปร x มีค่าเท่ากับ x + 5 ผลลัพธ์ที่ออกมาก็จะได้เท่ากับ 15
การเขียนแบบ shorthand
เราสามารถใช้ assignment operator ร่วมกับ operator แบบอื่นได้ เช่น
Increment and decrement operators
คือ ตัวดำเนินการที่ดำเนินการกับตัวแปรเดียว ซึ่งจะแยกออกเป็น prefix mode และ postfix mode
1. prefix mode (++x, --x)
รูปแบบนี้โปรแกรมจะทำงานโดยการบวกหรือลบค่า x ด้วย 1 ก่อนถูกนำไปใช้
2. postfix mode (x++, x--)
รูปแบบนี้โปรแกรมจะทำงานโดยนำค่า x ตัวเดิมไปใช้ก่อนแล้วจึงบวกหรือลบด้วย 1 ทีหลัง
แหล่งอ้างอิง 📑
Last updated
Was this helpful?